|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问怎么确保这个ts_info请求不出错呢
- for ts in p_bar:
- ts_info = requests.get(url=ts)
- if ts_info.status_code == 200:
- with open(ts_path + '.MP4', mode='ab') as f:
- f.write(ts_info.content)
- count += 1
- p_bar.close()
- else:
- print(ts_info.status_code, f'{ts}响应错误')
复制代码
try一下
参考:
- try:
- with closing(requests.get(url, stream=True, headers=tmpHeader, timeout=timeout)) as r:
- r.raise_for_status() #不是200,引发HTTPError异常
- with open(tmpLocalFile, 'ab+') as f:
- f.seek(size)
- f.truncate()
- for chunk in r.iter_content(chunk_size=block):
- if chunk:
- f.write(chunk)
- f.flush()
- size += len(chunk)
- self.__setDownSize(tmpLocalCfg, tmpLocalCfgFile, size)
- self.__showProgress(size, totalSize)
-
- #下载完成 临时文件名 改为 正式文件名 并删除配件文件
- os.rename(tmpLocalFile, localPath)
- os.remove(tmpLocalCfgFile)
- self.__finished = True
- break
-
- except ConnectionError:
- self.__setState(self.__cfg, '【网络连接错误】重试第 %d 次' % (i))
- except HTTPError as e:
- self.__setState(self.__cfg, '【HTTP 错误】重试第 %d 次' % (i))
- except URLRequired:
- self.__setState(self.__cfg, '【URL缺失】重试第 %d 次' % (i))
- except TooManyRedirects:
- self.__setState(self.__cfg, '【超过最大重定向次数】重试第 %d 次' % (i))
- except ConnectTimeout:
- self.__setState(self.__cfg, '【连接远程服务器超时】重试第 %d 次' % (i))
- except Timeout:
- self.__setState(self.__cfg, '【请求URL超时】重试第 %d 次' % (i))
- except Exception as e:
- self.__setState(self.__cfg, str(e))
- break
- finally:
- if not support_continue:
- self.__deleteTmpFile(tmpLocalFile, tmpLocalCfgFile)
- else:
- if not self.__finished:
- self.__setDownSize(tmpLocalCfg, tmpLocalCfgFile, size)
复制代码
|
|