El user-agent
debe especificarse como un campo en el encabezado.
Aquí hay una lista de campos de encabezado HTTP , y probablemente le interesarían los campos específicos de solicitud , que incluye User-Agent
.
Si está utilizando solicitudes v2.13 y posteriores
La forma más sencilla de hacer lo que quiere es crear un diccionario y especificar sus encabezados directamente, de esta manera:
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)
Si está utilizando solicitudes v2.12.xy anteriores
Las versiones anteriores de requests
los encabezados predeterminados con capa, por lo que querrá hacer lo siguiente para conservar los encabezados predeterminados y luego agregar los suyos.
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
, esto funciona porque el objeto de solicitud original es un atributo del objeto de respuesta. Ver también http://docs.python-requests.org/en/latest/user/advanced/#request-and-response-objects