Имя пользователя / пароль прокси не работают правильно запросы Python - PullRequest
0 голосов
/ 21 сентября 2019

Я недавно экспериментировал с использованием прокси с запросами Python и не могу заставить их работать.Хотя запросы проходят через прокси-серверы, тестирование, которое я провел, привело меня к мысли, что прокси-серверы не применяются к запросу.Даже с явно плохими прокси мои запросы все еще проходят, что заставляет меня думать, что прокси вообще не использовался.Чтобы продемонстрировать это, я сделал простой скрипт (рабочий прокси был отредактирован для этого поста):

import requests

proxy1 = {"http":"http://this:should@not:work"}
proxy2= {"http":"http://this:proxy@is.working.com:33128"}

r1 = requests.get("https://google.com", proxies=proxy2)
print(r1.status_code)
#prints 200 as expected
r2 = requests.get("https://google.com", proxies=proxy1)
print(r2.status_code)
#prints 200 which is weird since I was expecting the request to not go through

Кто-нибудь знает, почему это происходит, и действительно ли запросы используются с прокси-серверами?

1 Ответ

1 голос
/ 21 сентября 2019

В обоих примерах вы определяете прокси только для http

proxy1 = {"http": "http://this:should@not:work"}

proxy2 = {"http": "http://this:proxy@is.working.com:33128"}

, но используете URL с https:

https://google.com

, поэтому requests не использует прокси.

Вы должны определить прокси для https

proxy1 = {"https": "http://this:should@not:work"}

proxy2 = {"https": "http://this:proxy@is.working.com:33128"}

Документ: запросы: прокси


РЕДАКТИРОВАТЬ:

Используя https://httpbin.org/get, вы можете проверить запросы GET, и он отправит вам обратно все ваши заголовки и IP.

Я взял прокси с одной из страниц с бесплатными прокси, так что это можетнекоторое время не работает

import requests

proxy = {"https": "104.244.75.26:8080"}

r = requests.get("https://httpbin.org/get", proxies=proxy1)
print(r.status_code)
print(r.text)

Результат показывает IP прокси

200
{
  "args": {}, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.22.0"
  }, 
  "origin": "104.244.75.26, 104.244.75.26", 
  "url": "https://httpbin.org/get"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...