2010-08-13 11 views
1

Est-il possible d'inspecter les attributs d'un Python urllib2.Request (url, données, en-têtes, etc.) lors de l'utilisation d'un urllib2.OpenerDirector:attributs urllib2.Request lors Inspecter à l'aide OpenerDirector avec des gestionnaires

cookie_jar = cookielib.CookieJar()  
opener = urllib2.OpenerDirector() 
opener.add_handler(urllib2.ProxyHandler()) 
opener.add_handler(urllib2.UnknownHandler()) 
opener.add_handler(urllib2.HTTPHandler()) 
opener.add_handler(urllib2.HTTPRedirectHandler()) 
opener.add_handler(urllib2.HTTPDefaultErrorHandler()) 
opener.add_handler(urllib2.HTTPSHandler()) 
opener.add_handler(urllib2.HTTPErrorProcessor()) 
opener.add_handler(urllib2.HTTPCookieProcessor(cookie_jar)) 
request = urllib2.Request('http://example.com') 
response = opener.open(request) 

La demande l'objet n'a aucun attribut défini avant d'être ouvert. Y a-t-il un moyen d'y accéder?

Répondre

2

Je ne suis pas sûr des attributs que vous recherchez exactement, mais j'espère que cela répond à votre question. Tous ces attributs sont dans la classe Request. Pour inspecter ceux que vous la liste, vous pouvez les utiliser:

url = request.get_full_url() 
data = request.get_data() 
headers = request.headers 

Il existe également des fonctions pour modifier les données/têtes/etc. Plus d'informations peuvent être trouvées dans les docs: http://docs.python.org/library/urllib2.html#request-objects