2011-12-31 23 views
35

Anteriormente utilicé el módulo httplib para agregar el encabezado en la solicitud. Ahora estoy intentando lo mismo con el módulo de solicitud.agregar el módulo de solicitud de cabecera a python

Este es el módulo de solicitud de pitón que estoy utilizando: http://pypi.python.org/pypi/requests

¿Cómo puedo añadir a la cabecera request.post y request.get dicen que tengo que añadir foobar clave en cada solicitud de cabecera.

+0

duplicado posible de [Usar encabezados con el pitón pide método get de la biblioteca] (https://stackoverflow.com/questions/6260457/using-headers-with-the-python -requ ests-librarys-get-method) –

Respuesta

75

De http://docs.python-requests.org/en/latest/user/quickstart/

url = 'https://api.github.com/some/endpoint' 
payload = {'some': 'data'} 
headers = {'content-type': 'application/json'} 

r = requests.post(url, data=json.dumps(payload), headers=headers) 

Sólo se necesita para crear un diccionario con sus cabeceras (pares clave: valor, donde la clave es el nombre de la cabecera y el valor es, así, el valor del par) y pase ese parámetro dict a los encabezados en el método .get o .post.

lo tanto más específica a su pregunta:

headers = {'foobar': 'raboof'} 
requests.get('http://himom.com', headers=headers) 
+0

Puede ser útil ver la respuesta que envía y/o recibe de regreso. De acuerdo con [Solicita documentos de uso avanzado] (http://docs.python-requests.org/en/master/user/advanced/#request-and-response-objects), use 'r.headers' para acceder a los encabezados el servidor envía de vuelta y 'r.request.headers' para ver los encabezados que está enviando al servidor. – harperville

9

También puede hacer esto para establecer una cabecera para todos los futuros obtiene para el objeto Session, donde x-prueba será en todo s.get() llamadas :

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'}) 

de: http://docs.python-requests.org/en/latest/user/advanced/#session-objects

Cuestiones relacionadas