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.