在我们下面,我使用twisted来获取页面的回调。
client.getPage(iUrl,headers,method='GET',cookies=cj).addCallback(self.processPage,iUrl).addErrback(self.printError,iUrl)
以下是我标题的格式。
headers = Headers({'content-type': ['text/html; charset=utf-8'], 'user-agent': ["Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11'"]})
我知道如果我使用urllib2,用户代理会工作,因为我可以提取需要标题的字段。在扭曲中使用此标头不起作用,我怀疑我是如何使用扭曲的标头。那么,在我的代码中指定标题的正确方法是什么?
由于
答案 0 :(得分:5)
headers
的{{1}}参数接受twisted.web.client.getPage
,而不是dict
个实例。
答案 1 :(得分:3)
HTTPClientFactory(由getPage内部使用)构造函数签名如下所示:
3 def __init__(self, url, method='GET', postdata=None, headers=None,
204 agent="Twisted PageGetter", timeout=0, cookies=None,
205 followRedirect=1):
因此尝试将标题作为关键字参数传递:
client.getPage(iUrl,method='GET',cookies=cj, headers=headers)...
标题本身对我来说很正常。