Vous pouvez également définir avec les urllib2.Request objets-têtes avant de faire la demande (et de remplacer les en-têtes par défaut, bien que ne sera pas présents dans les en-têtes dict à l'avance):
>>> req = urllib2.Request(url='http://python.org')>>> req.add_header('User-Agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:5.0)')>>> req.headers
{'User-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:5.0)'}
Est-il possible de voir les en-têtes qui vous sera envoyé avant l'envoi de la demande? Je veux simuler l'envoi de la demande pour obtenir les en-têtes être envoyé (sans l'envoyer). Notez que si vous devez ajouter d'autres processeurs à build_opener vous pouvez simplement passer plusieurs à la build_opener fonction. Par exemple, pour inclure également un cookie processeur que vous pourriez faire opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar), urllib2.HTTPHandler(debuglevel=1)).
Un moyen facile de voir la demande (et les en-têtes de réponse) est de permettre la sortie de débogage:
Vous pouvez ensuite voir le précis des en-têtes envoyés/reçus:
Vous pouvez également définir avec les
urllib2.Request
objets-têtes avant de faire la demande (et de remplacer les en-têtes par défaut, bien que ne sera pas présents dans les en-têtes dict à l'avance):Notez que si vous devez ajouter d'autres processeurs à
build_opener
vous pouvez simplement passer plusieurs à labuild_opener
fonction. Par exemple, pour inclure également un cookie processeur que vous pourriez faireopener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar), urllib2.HTTPHandler(debuglevel=1))
.OriginalL'auteur zeekay