Comment faire pour ajouter un en-tête dans les demandes
Est-il un autre moyen élégant pour ajouter un en-tête de demande :
import requests
requests.get(url,headers={'Authorization', 'GoogleLogin auth=%s' % authorization_token})
ne fonctionne pas, alors que urllib2 travaillé :
import urllib2
request = urllib2.Request('http://maps.google.com/maps/feeds/maps/default/full')
request.add_header('Authorization', 'GoogleLogin auth=%s' % authorization_token)
urllib2.urlopen(request).read()
- ce n'est pas le dictionnaire de la syntaxe à tous les...
- Voir ceci la réponse.
- double possible de Utiliser des en-têtes avec le Python demandes de la bibliothèque de la méthode get
- Double Possible de ajout d'un en-tête de python, la demande de module
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter des en-têtes par le passage d'un dictionnaire comme un argument.
Cela devrait fonctionner:
Pourquoi ton code ne fonctionnait pas?
Vous ont été pas le passage d'un dictionnaire à l'argument des en-têtes. Vous avez été transmission de valeurs selon le format défini dans
add_header()
fonction.Selon les docs,
Pourquoi demande.add_header() a travaillé?
Votre façon d'ajouter des en-têtes à l'aide de
request.add_header()
travaillé parce que la fonction est définie en tant que telle dans leurllib2
module.Elle accepte deux arguments -
Vous pouvez ajouter des en-têtes personnalisés pour une demande de requête en utilisant le format suivant qui utilise un dictionnaire Python ayant un colon,
:
, dans sa syntaxe.Ceci est présenté dans la Les demandes de documentation pour les en-têtes personnalisés comme suit:
Vous pouvez passer dictionnaire par
headers
mot-clé. C'est très élégant en Python 🙂Les en-têtes doivent être un dict, donc cela devrait fonctionner