Я столкнулся с этой проблемой пару дней и не знаю, как ее решить:
Представим, что мне нужно подключиться к https://targetwebsite.com, который доступен только через прокси-сервер с аутентификацией, и что я хотел бы отправлять запросы Python на этот веб-сайт.
Что я сделал до сих пор, так это:
import requests
from requests.auth import HTTPProxyAuth
session = requests.Session()
session.proxies = {'http': 'proxy_url:port'}
session.auth = HTTPProxyAuth('proxy_username', 'proxy_password')
session.get('https://targetwebsite.com')
>>
Он не использует прокси-сервер, фактически, если я попытаюсь получить IP-адрес через API, в результате я получу свой текущий IP-адрес, а не IP-адрес прокси-сервера
...
session.get('https://api.ipify.org/?format=json')
>>
>> {"ip":"XXX.XXX.XXX.XX"} // IP address of my machine
Однако, если я сделаю запрос на тот же веб-сайт, но через http, это сработает:
session.get('http://targetwebsite.com')
>>
Я должен сказать, что я использую прокси-сервер, который я создал, и он размещен на Raspberry Pi через Squid, поэтому, возможно, я ошибался при его настройке, однако я не думаю, что это проблема, потому что, когда я использую тот же прокси-сервер с теми же учетными данными с Firefox, я могу получить доступ к веб-сайтам также через https.
Как кто-то предложил, я пробовал также разные конфигурации с такими результатами:
...
session.proxies = {'http': 'proxy_url:port', 'https': 'proxy_url:port'}
session.get('https://targetwebsite.com')
>>
...
session.proxies = {'https': 'proxy_url:port'}
session.get('https://targetwebsite.com')
>>