Usar encabezados con el método get de la biblioteca de solicitudes Python


Respuestas:


281

De acuerdo con la API , todos los encabezados se pueden pasar usando request.get:

r=requests.get("http://www.example.com/", headers={"content-type":"text"})

14
Puede verificar el encabezado de solicitud http enviado haciendo: print (r.request.headers)
— no

2
@Breedly Lugar correcto, momento adecuado. Historia de mi vida: notable cantidad de buena suerte combinada con un montón de trabajo duro.
— cwallenpoole

36

Parece bastante sencillo, de acuerdo con los documentos en la página que ha vinculado (énfasis mío).

request.get (url, params = None, headers = None, cookies = None, auth = None, timeout = None)

Envía una solicitud GET. Devuelve Responseobjeto.

Parámetros:

  • url: URL para el nuevo Requestobjeto.
  • params - (opcional) Diccionario de parámetros GET para enviar con el Request.
  • encabezados - (opcional) Diccionario de encabezados HTTP para enviar con el Request.
  • cookies: (opcional) objeto CookieJar para enviar con el Request.
  • auth: (opcional) AuthObject para habilitar la autenticación básica HTTP.
  • tiempo de espera: (opcional) flotante que describe el tiempo de espera de la solicitud.

3
Gracias, pero realmente no sé mucho sobre la sintaxis de Python. Solo un poco de aprendizaje. La próxima vez finja que no sé nada y leí la API como el tipo anterior.
— Breedly

2
Hay un error tipográfico en el enlace de documentación o el enlace está muerto, aquí está el nuevo docs.python-requests.org/en/latest/api
— Mutante

28

Esta respuesta me enseñó que puedes configurar encabezados para una sesión completa:

s = requests.Session()
s.auth = ('user', 'pass')
s.headers.update({'x-test': 'true'})

# both 'x-test' and 'x-test2' are sent
s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})

Bonificación: las sesiones también manejan cookies.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.