diff --git a/BiliDriveEx/util.py b/BiliDriveEx/util.py index 3ae1e550e6857eceaf846ea8d13c6d7719a70a33..7e179a3b675ba90073064bf35b817de6b419b585 100644 --- a/BiliDriveEx/util.py +++ b/BiliDriveEx/util.py @@ -32,8 +32,11 @@ def image_download(url): content = [] last_chunk_time = None try: - for chunk in requests.get(url, headers=headers, timeout=10, stream=True).iter_content(128 * 1024): - if last_chunk_time is not None and time.time() - last_chunk_time > 5: + for chunk in request_retry('GET', url, + headers=headers, stream=True + ).iter_content(128 * 1024): + if last_chunk_time is not None and \ + time.time() - last_chunk_time > 5: return content.append(chunk) last_chunk_time = time.time() @@ -71,6 +74,7 @@ def log(message): print(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] {message}") def request_retry(method, url, retry=5, **kwargs): + kwargs.setdefault('timeout', 10) for i in range(retry): try: return requests.request(method, url, **kwargs)