Задано лише ключ http
Ключ позначає схему цільової адреси, а не проксі. Словник лише з http спрямовує через проксі звичайний HTTP, а кожен HTTPS-виклик відпускає напряму, і жодної помилки про це не буде.
Спрямуйте requests через одну статичну ISP-адресу: один IP у мережі названого інтернет-провайдера, закріплений за вами на оплачений період. Код нижче перед публікацією перевірили на проксі з автентифікацією.
Коротко: Передайте словник proxies з ключами http і https, кожному з яких задано http://USERNAME:PASSWORD@HOST:PORT, і requests надішле виклик через проксі; запити до HTTPS-адрес ідуть через нього тунелем. Для SOCKS5 установіть requests[socks], перемкніть проксі на SOCKS5 у замовленні й використовуйте схему socks5h, щоб імена хостів розв’язував проксі, а не ваш комп’ютер.
Python requests бере проксі зі словника, який зіставляє схему цільової URL-адреси з URL-адресою проксі. У цьому посібнику такий словник задається для однієї статичної ISP-адреси й показано три місця, де він може бути: у виклику, у сесії або в оточенні.
Більшість проксі, зокрема наші, вимагають логін і пароль. requests бере їх з URL проксі й надсилає проксі під час кожного підключення. Для HTTPS-адреси проксі відкриває тунель і ніколи не бачить вмісту запиту. На вкладках із кодом показано варіант для одного запиту й варіант із сесією.
Хост, порт, логін і пароль: з розділу «Мої проксі» в панелі керування або із замовлення в API. Кожна адреса має свої чотири значення; спільного шлюзу немає.
http://USERNAME:PASSWORD@HOST:PORT. Якщо в паролі є /, ?, # або %, спершу закодуйте його для URL за допомогою urllib.parse.quote(password, safe="").
Передайте ту саму URL-адресу ключу http і ключу https. Якщо задано лише http, кожен HTTPS-запит іде повз проксі й виходить з вашої власної адреси.
Запросіть сторінку, яка показує IP відправника, або відкрийте What Is My IP через той самий проксі й переконайтеся, що це куплена вами адреса.
Завжди передавайте timeout=: типово requests чекає безкінечно, і зависле з’єднання тоді виглядає як завислий скрипт.
import requests
# The four values come with your order (dashboard or API)
proxy = "http://USERNAME:PASSWORD@HOST:PORT"
response = requests.get(
"https://example.com/",
proxies={"http": proxy, "https": proxy},
timeout=30,
)
response.raise_for_status()
print(response.status_code)
import requests
proxy = "http://USERNAME:PASSWORD@HOST:PORT"
with requests.Session() as session:
# HTTP_PROXY / HTTPS_PROXY in the environment would override
# session.proxies; this makes the session use only its own setting.
session.trust_env = False
session.proxies.update({"http": proxy, "https": proxy})
response = session.get("https://example.com/", timeout=30)
response.raise_for_status()
print(response.status_code)
# pip install "requests[socks]"
import requests
# Switch the proxy to SOCKS5 first; use the values the order then shows.
# socks5h: the proxy resolves the hostname, not your machine.
proxy = "socks5h://USERNAME:PASSWORD@HOST:PORT"
response = requests.get(
"https://example.com/",
proxies={"http": proxy, "https": proxy},
timeout=30,
)
response.raise_for_status()
print(response.status_code)
Кожен приклад підключається через HTTP-проксі з логіном і паролем, крім прикладу для SOCKS5: для нього проксі спершу треба перемкнути на SOCKS5, після чого в замовленні з'являться новий порт і нові облікові дані. Замініть чотири слова великими літерами значеннями зі свого замовлення.
| Охоплення | Облікові дані | Коли використовувати | |
|---|---|---|---|
| proxies= у виклику | Лише цей запит | В URL | Скрипт із кількома викликами |
| Session.proxies | Усі запити сесії | В URL | Усе, що довше, з trust_env, рівним False |
| HTTP_PROXY і HTTPS_PROXY | Усі виклики requests у процесі | В URL | Код, який не можна змінити; у NO_PROXY перелічуються хости, які треба обійти |
| URL socks5h:// | Те охоплення, на якому його задано | В URL | Коли імена хостів має розв'язувати проксі |
Ключ позначає схему цільової адреси, а не проксі. Словник лише з http спрямовує через проксі звичайний HTTP, а кожен HTTPS-виклик відпускає напряму, і жодної помилки про це не буде.
Із socks5 ім'я хоста розв'язує ваш комп'ютер і передає проксі IP. Із socks5h його розв'язує проксі, тож DNS-запит і відповідь на нього надходять із мережі проксі, а це важливо для сайтів, які відповідають залежно від розташування.
Скісна риска, знак питання або решітка в паролі обривають URL, і requests видає помилку, не дійшовши до проксі; знак відсотка декодується як екранування. Закодуйте пароль для URL або використовуйте автентифікацію за білим списком IP і приберіть облікові дані.
requests читає HTTP_PROXY, HTTPS_PROXY і NO_PROXY, якщо в сесії не задати trust_env рівним False, і ці змінні переважають Session.proxies. Застаріла змінна на сервері може відправити трафік сесії не туди, куди ви збиралися, або в обхід проксі.
Впишіть логін і пароль в URL проксі, http://USERNAME:PASSWORD@HOST:PORT, і передайте його і для ключа http, і для ключа https. requests надсилає облікові дані проксі, а той відповідає 407, якщо вони неправильні. Пароль із зарезервованими символами закодуйте або використовуйте замість нього білий список IP.
Установіть доповнення командою pip install requests[socks], перемкніть сам проксі на SOCKS5 у замовленні й укажіть порт і облікові дані, які після цього покаже замовлення, в URL socks5h://. Самої зміни схеми недостатньо: адреса, налаштована на HTTP, не відповідає через SOCKS5, доки її не перемкнуть. SOCKS5
Так. Додайте публічну IPv4-адресу, з якої працює ваш скрипт, до білого списку проксі одним викликом API, PUT /orders/ORDER_ID/whitelist, або через MCP-сервер; у панелі керування для цього поки немає налаштування. Після цього проксі приймає підключення з цієї адреси без облікових даних, через HTTP і через SOCKS5, а URL стає http://HOST:PORT. Поки білий список задано, проксі пропускає лише адреси з нього, а логін і пароль для цього замовлення перестають працювати. Якщо надіслати порожній список, білий список вимикається і вхід за паролем знову працює.
Ні. Статичний ISP-проксі дає одну адресу на оплачений період, і кожен запит через нього виходить із цієї адреси. Якщо завданню потрібна нова адреса на кожен запит, це ротаційний пул, а його ми поки не продаємо.
Запросіть через той самий проксі сторінку, яка повертає адресу відправника, або відкрийте What Is My IP у браузері, налаштованому на цей проксі. Якщо там ваша власна адреса, найімовірніше, не задано ключ https. Мій IP
Тестування власних сайтів за регіонами, перевірка якості, верифікація реклами, дослідження цін і ринку та захист бренду не потребують перевірки за нашою політикою прийнятного використання. Проксі не обходить CAPTCHA, виявлення ботів, обмеження частоти запитів і блокування акаунтів, а політика забороняє використовувати його для таких спроб. Політика прийнятного використання