22.07.2026
как использовать прокси в python requests
Как использовать прокси в Python requests: пошаговая инструкция для начинающих и профи
В современных условиях, когда конфиденциальность и безопасность в интернете выходят на первый план, использование прокси-серверов становится почти обязательным для разработчиков и специалистов по информационной безопасности. Особенно это актуально при работе с API, автоматизации задач или обходе географических ограничений. В этой статье расскажу, как использовать прокси в Python requests — популярной библиотеке для HTTP-запросов.
Почему стоит использовать прокси?
Прокси помогает скрыть ваш реальный IP-адрес, обойти блокировки и повысить анонимность. Также он может использоваться для балансировки нагрузки или ускорения доступа к определённым ресурсам.
Основы работы с прокси в Python requests
Библиотека requests — одна из самых удобных для работы с HTTP-запросами в Python. Встроенная поддержка прокси реализована очень просто. Все, что нужно — передать в запрос словарь с настройками прокси.
Как задать прокси?
Самый базовый пример — указать один прокси-сервер:
import requests
proxies = {
'http': 'http://user:password@proxyserver:port',
'https': 'http://user:password@proxyserver:port',
}
response = requests.get('https://api.ipify.org?format=json', proxies=proxies)
print(response.json())
В этом примере вы делаете запрос через прокси, который требует аутентификации. Если прокси не требует логина и пароля, укажите просто адрес.
Как использовать прокси без аутентификации?
Если ваш прокси-сервер не требует логина и пароля, достаточно указать его так:
proxies = {
'http': 'http://proxyserver:port',
'https': 'http://proxyserver:port',
}
Затем делаете запрос:
response = requests.get('https://api.ipify.org?format=json', proxies=proxies)
print(response.json()) # Ваш IP через прокси
Работа с несколькими прокси для ротации
Если нужно делать много запросов и избегать блокировки — используйте ротацию прокси. Для этого подготовьте список и выбирайте случайный или по очереди:
import random
proxy_list = [
'http://proxy1:port',
'http://proxy2:port',
'http://proxy3:port',
]
proxy = {'http': random.choice(proxy_list), 'https': random.choice(proxy_list)}
response = requests.get('https://api.ipify.org?format=json', proxies=proxy)
print(response.json())
Для большей гибкости — напишите функцию, которая будет автоматически управлять ротацией.
Обработка ошибок при использовании прокси
Работа с прокси — не всегда гладкая. Иногда сервер недоступен, прокси «падает» или блокирует ваш IP. Поэтому важно обрабатывать исключения:
try:
response = requests.get('https://api.ipify.org?format=json', proxies=proxies, timeout=5)
response.raise_for_status()
print(response.json())
except requests.exceptions.ProxyError:
print('Проблемы с прокси. Попробуйте другой.')
except requests.exceptions.RequestException as e:
print(f'Ошибка запроса: {e}')
Советы по выбору и настройке прокси
- Тип прокси: HTTP, HTTPS, SOCKS5 — выбирайте в зависимости от задач.
- Анонимность: Некоторые прокси передают реальный IP или содержат дополнительные заголовки. Для анонимности ищите высокоанонимные (elite proxy).
- Бесплатные vs платные: Бесплатные прокси зачастую медленные и ненадёжные. Для серьёзных проектов лучше использовать платные сервисы.
Итог
Использование прокси в Python requests — это просто и эффективно, если знать правильные подходы. Главное — правильно настроить словарь proxies, обрабатывать исключения и не забывать о безопасности и анонимности.
Если вы хотите автоматизировать сбор данных, тестировать гео-ограниченные сервисы или просто повысить свою конфиденциальность — прокси станет вашим надёжным помощником.
Если нужно, могу подготовить более техническую или узкоспециализированную статью, или добавить разделы по конкретным типам прокси или их настройке.
Готов помочь вам создать уникальный и полезный контент!