我在python中正确使用标题使用getPage扭曲吗?

时间:2011-10-08 03:01:26

标签: python html header twisted

在我们下面,我使用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,用户代理会工作,因为我可以提取需要标题的字段。在扭曲中使用此标头不起作用,我怀疑我是如何使用扭曲的标头。那么,在我的代码中指定标题的正确方法是什么?

由于

2 个答案:

答案 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)...
标题本身对我来说很正常。