Не работает прокси сервер через библиотеку requests

Рейтинг: 0Ответов: 3Опубликовано: 16.02.2023

Хочу использовать прокси для запросов, но ничего не выходит. В самом браузере он работает, но через библиотеку нет.

proxies = {'http': 'http://***'}
auth = HTTPProxyAuth('***', '***')
response = requests.get('https://api64.ipify.org?format=json', proxies=proxies, auth=auth).json()
print(response["ip"])

Пробовал так же добавлять такой параметр - allow_redirects=True, но итог тот же, так же пробовал и через сессии

Ответы

▲ 0
proxies = { 'http' : 'http://user:password@proxyip:port' } 
r = requests.get('http://url', proxies=proxies)

доки

▲ 0

Если вы используете прокси-сервер, то возможно, вам нужно добавить параметр https в словарь proxies:

proxies = {'http': 'http://***', 'https': 'http://***'}

Если ваш прокси-сервер требует авторизации, как в вашем случае, вы должны использовать HTTPProxyAuth в запросе. Убедитесь, что вы правильно передаете данные аутентификации:

from requests.auth import HTTPProxyAuth

proxies = {'http': 'http://***', 'https': 'http://***'}
auth = HTTPProxyAuth('***', '***')

response = requests.get('https://api64.ipify.org?format=json', proxies=proxies, auth=auth).json()
print(response["ip"])

Если это не решит проблему, попробуйте проверить ошибки, которые могут возникнуть при использовании прокси-сервера. Для этого вы можете напечатать response.text и проверить, что он возвращает, чтобы понять, в чем может быть проблема.

▲ 0

Решением моей проблемы оказалась запись данной конструкции в конфигурацию:

export HTTPS_PROXY="http://(log):(pas)@(host):(port)"