Как мне заставить прокси работать? Запросы Python

#python #web #redirect #proxy #python-requests

#python #веб #перенаправление #прокси #python-запросы

Вопрос:

 import requests

http_proxy = "http://176.9.119.170:8080"

proxyDict = {
  "http": http_proxy,
}
url = 'http://2ip.ru'
s = requests.Session()
s.proxies = proxyDict
r = s.get(url)
print(r.text, r.url, r.headers)
 

Этот код выдает «запросы.исключения.TooManyRedirects: превышено 30 перенаправлений «. ошибка.

Кроме того, я ранее пытался использовать прокси в selenium, но была аналогичная ошибка. Более того, даже с рабочими прокси (что было подтверждено проверяющими)

Комментарии:

1. http://2ip.ru перенаправляет вас на https://2ip.ru/ , но вы установили прокси только для http протокола. Вы должны добавить https ключ к своему proxyDict с тем же значением и взглянуть на свой прокси, возможно, проблема с перенаправлениями находится на стороне прокси.

2. @OlvinRoght я меняю прокси на https и редактирую proxyDict. Но теперь он возвращает «Превышено максимальное количество попыток с url: / (Вызвано SSLError(SSLError(1, ‘[SSL: WRONG_VERSION_NUMBER] неправильный номер версии (_ssl.c: 1076)’)))»

3. Вам не нужно изменять значение http_proxy , вам просто нужно добавить еще один ключ proxyDict с тем же значением, чтобы он выглядел так: proxyDict = dict.fromkeys(("http", "https"), http_proxy) . И снова проверьте свой прокси, 99% проблем связано с прокси.

4. Может быть, есть какой-то способ использовать http? Я не могу найти обычные бесплатные прокси https.

5. На этом конкретном веб-сайте нет http-версии, может быть, вы можете найти другой с аналогичной функциональностью, который позволяет вам работать по протоколу http.

Ответ №1:

Исправьте код в этой форме:

 import requests

http_proxy = "http://176.9.119.170:8080"

proxyDict = {
  "http": http_proxy,
}
url = 'http://2ip.ru'
s = requests.Session()
r = s.get(url, proxies=proxyDict)
print(r.text, r.url, r.headers)
 

Комментарии:

1. запросы.исключения. TooManyRedirects: превышено 30 перенаправлений

2. Эта ошибка относится к вашему URL, ‘ 2ip.ru ‘имеет редиректы, это не код, код работает нормально, попробуйте другой URL, чтобы проверить его.

3. Все еще перенаправление. Даже в Google и на любом другом сайте

4. Итак, это ваш http-прокси, попробуйте что-нибудь еще

5. Может быть, вы можете показать рабочий пример с рабочим прокси? Я уже пробовал с более чем дюжиной различных http-прокси, которые были отмечены как работающие с различными средствами проверки.