#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-прокси, которые были отмечены как работающие с различными средствами проверки.