cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.open('http://abc.com')
opener.open('http://google.com')
Comme vous pouvez le voir, j'utilise ouvreur pour visiter différents sites Web, en utilisant un pot de cookies. Puis-je définir un en-tête pour que chaque fois qu'un site Web le soit, l'en-tête soit appliqué?
Vous pouvez ajouter les en-têtes directement à l'objet OpenerDirector
renvoyé par build_opener
. Du dernier exemple dans les documents urllib2 :
OpenerDirector ajoute automatiquement un en-tête User-Agent à chaque demande. Pour changer cela:
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
opener.open('http://www.example.com/')
N'oubliez pas non plus que quelques en-têtes standard (Content-Length, Content-Type et Host) sont ajoutés lorsque la demande est transmise à urlopen () (ou OpenerDirector.open ()).
headers = {'foo': 'bar',}
req = urllib2.Request(url, None, headers)
resp = urllib2.urlopen(req)
ou
req = urllib2.Request(url)
req.add_header('foo', 'bar')
resp = urllib2.urlopen(req)