From 4a473d0b0d675d3f55ea9c8a7d8f87d300bb4de6 Mon Sep 17 00:00:00 2001 From: Lovi <62809003+Lovi-0@users.noreply.github.com> Date: Sat, 15 Jun 2024 10:47:10 +0200 Subject: [PATCH] Add httpx simple retry. --- Src/Lib/Hls/segments.py | 7 ++++--- Src/Lib/M3U8/estimator.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Src/Lib/Hls/segments.py b/Src/Lib/Hls/segments.py index 6869460..a0986b0 100644 --- a/Src/Lib/Hls/segments.py +++ b/Src/Lib/Hls/segments.py @@ -57,7 +57,6 @@ headers_index = config_manager.get_dict('REQUESTS', 'index') - class M3U8_Segments: def __init__(self, url: str, tmp_folder: str): """ @@ -202,17 +201,19 @@ class M3U8_Segments: # Make request to get content if THERE_IS_PROXY_LIST: + + # Get proxy from list proxy = self.valid_proxy[index % len(self.valid_proxy)] logging.info(f"Use proxy: {proxy}") - with httpx.Client(proxies=proxy, verify=REQUEST_VERIFY) as client: + with httpx.Client(transport=httpx.HTTPTransport(retries=3), proxies=proxy, verify=REQUEST_VERIFY) as client: if 'key_base_url' in self.__dict__: response = client.get(ts_url, headers=random_headers(self.key_base_url), timeout=REQUEST_TIMEOUT) else: response = client.get(ts_url, headers={'user-agent': get_headers()}, timeout=REQUEST_TIMEOUT) else: - with httpx.Client(verify=REQUEST_VERIFY) as client_2: + with httpx.Client(transport=httpx.HTTPTransport(retries=3), verify=REQUEST_VERIFY) as client_2: if 'key_base_url' in self.__dict__: response = client_2.get(ts_url, headers=random_headers(self.key_base_url), timeout=REQUEST_TIMEOUT) else: diff --git a/Src/Lib/M3U8/estimator.py b/Src/Lib/M3U8/estimator.py index ac2469e..c8f2058 100644 --- a/Src/Lib/M3U8/estimator.py +++ b/Src/Lib/M3U8/estimator.py @@ -56,7 +56,7 @@ class M3U8_Ts_Estimator: self.ts_file_sizes.append(size) self.now_downloaded_size += size_download - def capture_speed(self, interval: float = 0.5): + def capture_speed(self, interval: float = 1.0): """ Capture the internet speed periodically and store the values in a deque. """