将OpenerDirector与处理程序一起使用时检查urllib2.Request属性

时间:2010-08-13 15:21:03

标签: python urllib2

使用urllib2.OpenerDirector时是否可以检查Python urllib2.Request(url,data,headers等)的属性:

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)

请求对象在打开之前没有设置任何属性。有没有办法访问它们?

1 个答案:

答案 0 :(得分:2)

我不确定您正在寻找哪些属性,但希望这可以回答您的问题。所有这些属性都在Request类中。要检查列出的那些,您可以使用以下内容:

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

还有修改数据/标题/等的功能。

可以在文档中找到更多内容:http://docs.python.org/library/urllib2.html#request-objects