Я столкнулся с этой проблемой в течение нескольких дней, и я не знаю, как ее решить: давайте представим, что мне нужно подключиться к 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')
>> <Response [404]>
Он не использует прокси-сервер, на самом деле, если я пытаюсь получить IP через API, то получается, что я возвращаю свой текущий IP-адрес, а не IP-адрес прокси
...
session.get('https://api.ipify.org/?format=json')
>> <Response [200]>
>> {"ip":"XXX.XXX.XXX.XX"} // IP address of my machine
Однако, если я делаю запрос на тот же сайт, но через http
, он работает:
session.get('http://targetwebsite.com')
>> <Response [200]>
Я должен сказать, что я использую Прокси-сервер, который я создал, и он размещен на Rasberry Pi через Squid, так что, возможно, я ошибся в его настройке, однако я не думаю, что это проблема, потому что когда я использую тот же прокси с теми же учетными данными с Firefox Я могу получить доступ к веб-сайтам также через https
.
. Как кто-то предложил, я попробовал также различные конфигурации с этими результатами:
...
session.proxies = {'http': 'proxy_url:port', 'https': 'proxy_url:port'}
session.get('https://targetwebsite.com')
>> <407 Proxy Authentication Required>
...
session.proxies = {'https': 'proxy_url:port'}
session.get('https://targetwebsite.com')
>> <407 Proxy Authentication Required>