Команда Proxyca · 02.11.2026
Используйте Python Requests proxies аргумент для отправки запроса через прокси. Укажите адрес прокси, выданный вместе с заказом, храните учётные данные вне исходного файла и протестируйте один запрос, прежде чем добавлять цикл сбора данных. URL прокси описывает ваше подключение к прокси, а URL назначения описывает сайт, к которому вы хотите обратиться.
В этом руководстве рассматривается небольшая явная настройка HTTP-прокси. Для более широкой последовательности диагностики используйте руководство по проверке прокси-соединения.
Прежде чем начать: подготовьте хост, порт, поддерживаемый протокол и данные аутентификации. В примерах используются переменные окружения, поэтому в статье нет рабочих учётных данных. Значения тайм-аутов иллюстрируют конфигурацию; они не являются лимитами провайдера и не рекомендуются для каждой задачи.
Этот Документация по прокси для запросов показывает словарь, ключами которого служат схемы адреса назначения. В этом примере и HTTP-, и HTTPS-адреса назначения используют одну и ту же конечную точку HTTP-прокси. Если адрес назначения использует HTTPS, это не значит, что нужно автоматически менять URL прокси на https://.
import os
from urllib.parse import quote
import requests
host = os.environ["PROXY_HOST"]
port = int(os.environ["PROXY_PORT"])
user = quote(os.environ["PROXY_USER"], safe="")
password = quote(os.environ["PROXY_PASSWORD"], safe="")
proxy_url = f"http://{user}:{password}@{host}:{port}"
proxies = {"http": proxy_url, "https": proxy_url}
response = requests.get(
"https://api.ipify.org?format=json",
proxies=proxies,
timeout=(10, 30),
)
response.raise_for_status()
print(response.json()["ip"])
Запускайте это, только если вы готовы отправить публичный IP вашего подключения в ipify. Вы можете подставить HTTPS-адрес, который контролируете сами. Первое значение — тайм-аут соединения, второе — тайм-аут чтения. Requests не делает этот кортеж общим ограничением по времени для всей операции.
Раздельное кодирование имени пользователя и пароля предотвращает проблемы с такими символами, как @ чтобы они случайно не стали разделителями URL. Храните некодированные учётные данные в своём окружении. Не выводите proxy_url, вставлять его в публичный issue или коммитить в репозиторий.
Выполните тот же запрос IP без proxies аргумент, в отдельном процессе без переменных окружения, связанных с прокси. Сохраните оба результата в закрытом виде. Изменившийся адрес свидетельствует о наблюдаемом выходном адресе именно этого запроса, но не доказывает, что все приложения на вашем компьютере используют прокси.
Затем запросите страницу, которой вы владеете или к которой вам разрешён доступ. Не меняйте конечную точку и учётные данные. Так проблема соединения отделяется от ответа, характерного для одного конкретного адреса назначения. Если ipify работает, а ваша цель — нет, покупка другого пакета не должна быть первым диагностическим шагом: зафиксируйте статус или исключение и определите, какой компонент дал ответ.
Для короткой последовательности запросов указывайте конфигурацию прокси явно при каждом вызове. Так пример проще проверить, и не придётся предполагать, что настройка на уровне сессии имеет приоритет над всеми настройками окружения.
with requests.Session() as session:
response = session.get(
"https://example.com/",
proxies=proxies,
timeout=(10, 30),
)
response.raise_for_status()
print(response.status_code)
Session удобна для связанных запросов, но cookies, заголовки и аутентификацию стоит рассматривать отдельно. Учётные данные прокси нужны для аутентификации на прокси. Они не заменяют учётные данные аккаунта на целевом сайте или разрешение на сбор его данных.
В документации Requests поддержка SOCKS описана как необязательная зависимость, которая устанавливается командой python -m pip install 'requests[socks]'. Its proxy URL scheme also controls DNS handling: socks5:// разрешает имена на стороне клиента, тогда как socks5h:// разрешает их через прокси. Убедитесь, что и конечная точка, и установленный у вас клиент поддерживают выбранную конфигурацию.
Используйте Руководство по SOCKS4 и SOCKS5 для контекста протокола. Возможности протокола не определяют, какими функциями обладает коммерческая конечная точка.
Перехватывайте исключения там, где ваша программа может принять осмысленное решение. Тайм-аут означает, что операция превысила настроенное время ожидания. А ProxyError требует изучения первопричины. Для HTTP-ошибки нужны статус ответа и контекст. Эти наблюдения требуют разных исправлений.
Используйте Быстрый старт Requests как ссылку на исключение. Храните очищенную запись о времени, имени хоста назначения, настроенной схеме и типе ошибки. Не включайте пароли, заголовки авторизации и полные URL, содержащие секреты.
Нет. Пример настраивает запросы, выполняемые этим вызовом Python. Отдельному браузеру или приложению нужна своя поддерживаемая конфигурация.
Не отключайте проверку как стандартное решение. Сравните ошибку с требованиями к сертификатам и сети, описанными для вашей среды. Выясните причину, прежде чем менять настройки доверия.
Откройте бот Proxyca, выберите тариф и доступную страну, затем используйте данные для подключения, выданные вместе с заказом. Храните эти данные в тайне. Открыть Proxyca в Telegram.