Добрый день. Проблема не очень сложная но найти решение не могу.
Проблема заключается в том, что когда идет запрос я жду ответ от 10 до 120 секунд. Иногда приходит в первые 3 секунды.
Как мне поставить ограничитель на ожидание ответа? Я уже все перепробовал.
С socks5 все работает как надо.
После 5 минут вот такая ошибка :
ProxyError(MaxRetryError("HTTPSConnectionPool(host='https://my-site.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', timeout('timed out')))"))]
Python:
def main_request(data, proxy='', type_of_proxy='socks5', user_agent='Mozilla/5.0 (Linux; arm; Android 13; PEPM00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.141 YaBrowser/22.3.6.61.00 SA/3 Mobile Safari/537.36'):
class TimeoutHTTPAdapter(HTTPAdapter):
def __init__(self, *args, **kwargs):
if "timeout" in kwargs:
self.timeout = kwargs["timeout"]
del kwargs["timeout"]
super().__init__(*args, **kwargs)
def send(self, request, **kwargs):
timeout = kwargs.get("timeout")
if timeout is None and hasattr(self, 'timeout'):
kwargs["timeout"] = self.timeout
return super().send(request, **kwargs)
s = requests.Session()
s.mount('http://', TimeoutHTTPAdapter(timeout=5)) # 5 seconds
s.mount('https://', TimeoutHTTPAdapter(timeout=5))
retry = Retry(connect=3, backoff_factor=0.7)
adapter = HTTPAdapter(max_retries=retry)
s.mount('http://', adapter)
s.mount('https://', adapter)
if type_of_proxy == 'socks5':
timeout_request = 3
elif type_of_proxy == 'http':
timeout_request = 1
proxies = {
'http': f'{type_of_proxy}://{proxy}',
'https': f'{type_of_proxy}://{proxy}'
}
page_login = s.post('https://my-site.com', data=data_1.encode('utf-8'), verify=False,
proxies=proxies, headers=headers_dic,timeout=timeout_request)
print(main_request(data='1',proxy='login:pass@backconnect.proxy.com:16000',type_of_proxy='http'))
Проблема заключается в том, что когда идет запрос я жду ответ от 10 до 120 секунд. Иногда приходит в первые 3 секунды.
Как мне поставить ограничитель на ожидание ответа? Я уже все перепробовал.
С socks5 все работает как надо.
После 5 минут вот такая ошибка :
ProxyError(MaxRetryError("HTTPSConnectionPool(host='https://my-site.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', timeout('timed out')))"))]
Последнее редактирование: