Значение user-agent
должно быть указано как поле в заголовке.
Вот список полей заголовка HTTP , и вам, вероятно, будут интересны поля , относящиеся к запросу , в том числе User-Agent
.
Если вы используете запросы v2.13 и новее
Самый простой способ сделать то, что вы хотите, это создать словарь и указать заголовки напрямую, например, так:
import requests
url = 'SOME URL'
headers = {
'User-Agent': 'My User Agent 1.0',
'From': 'youremail@domain.com' # This is another valid field
}
response = requests.get(url, headers=headers)
Если вы используете запросы v2.12.x и старше
В старых версиях requests
заголовков по умолчанию с заглушкой, поэтому вы должны выполнить следующие действия, чтобы сохранить заголовки по умолчанию, а затем добавить свои собственные.
import requests
url = 'SOME URL'
# Get a copy of the default headers that requests would use
headers = requests.utils.default_headers()
# Update the headers with your custom ones
# You don't have to worry about case-sensitivity with
# the dictionary keys, because default_headers uses a custom
# CaseInsensitiveDict implementation within requests' source code.
headers.update(
{
'User-Agent': 'My User Agent 1.0',
}
)
response = requests.get(url, headers=headers)
response.request.headers
, это работает, потому что исходный объект запроса является атрибутом объекта ответа. См. Также http://docs.python-requests.org/en/latest/user/advanced/#request-and-response-objects2.13.0
, заголовки не засорены, и документы просто говорят вам использоватьheaders
kwarg.Сеанс удобнее использовать , так что вам не нужно каждый раз устанавливать заголовки:
По умолчанию сеанс также управляет файлами cookie для вас. Если вы хотите отключить это, посмотрите этот вопрос .
источник