При взаимодействии с веб-ресурсами может возникнуть необходимость использования прокси-серверов или установки ограничений по времени на запросы. Библиотека Requests предоставляет удобные инструменты для работы с этими функциями.
Прокси-серверы часто используются для обеспечения безопасности, управления трафиком или обхода географических ограничений. В Requests просто установить прокси для запросов.
Пример настройки прокси:
proxies = {
"http": "http://10.10.10.10:3128",
"https": "https://10.10.10.10:1080"
}
response = requests.get("https://api.example.com", proxies=proxies)
Если вы планируете использовать прокси постоянно, можете настроить его для всей сессии:
with requests.Session() as session:
session.proxies = {
"http": "http://10.10.10.10:3128",
"https": "http://10.10.10.10:1080"
}
response = session.get("https://api.example.com")
При использовании прокси могут возникнуть различные ошибки, такие как:
ProxyError
: обобщенная ошибка, связанная с прокси;ConnectionError
: ошибка при попытке установить соединение;Timeout
: ошибка, возникающая при превышении установленного времени ожидания.Для обработки этих ошибок используйте конструкцию try...except
:
try:
response = requests.get("https://api.example.com", proxies=proxies, timeout=5)
except requests.exceptions.RequestException as e:
print(f"Произошла ошибка: {e}")
Таймауты позволяют задать максимальное время ожидания ответа от сервера. Это может быть особенно полезно при работе с ненадежными или медленными ресурсами.
Пример установки таймаута:
response = requests.get("https://api.example.com", timeout=5)
В примере выше запрос будет ждать ответа от сервера максимум 5 секунд. Если сервер не ответит в течение этого времени, будет вызвано исключение requests.exceptions.Timeout
.
Также возможно задать отдельные таймауты для подключения и чтения:
# timeout = (соединение, чтение)
response = requests.get("https://api.example.com", timeout=(2, 5))
В этом примере запрос будет пытаться подключиться к серверу в течение 2 секунд, а после установки соединения будет ждать ответа еще 5 секунд.
Умение правильно использовать прокси и таймауты позволяет контролировать и оптимизировать взаимодействие вашего приложения с внешними ресурсами. Библиотека Requests облегчает настройку и управление этими функциями, делая ваш код более устойчивым к ошибкам и предсказуемым в поведении.
Содержание: