Python -requests, аутентификация прокси HTTPS <Требуется аутентификация прокси 407> - PullRequest
1 голос
/ 08 января 2020

Я столкнулся с этой проблемой в течение нескольких дней, и я не знаю, как ее решить: давайте представим, что мне нужно подключиться к 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...