我是否使用 getPage 在 python Twisted 中正确使用了标头?

发布于 2024-12-08 16:01:07 字数 516 浏览 0 评论 0原文

下面是我使用扭曲获取页面的回调。

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

谢谢

Below us my callback for fetching a page using twisted.

     client.getPage(iUrl,headers,method='GET',cookies=cj).addCallback(self.processPage,iUrl).addErrback(self.printError,iUrl)

Here is the format for my headers.

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'"]})

I know the user agent works if I use urllib2 because I can extract fields that require a header. Using this header in twisted does not work and I suspect how I am using headers in twisted. So, what is to proper way to specify a header in my code?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

假扮的天使 2024-12-15 16:01:07

twisted.web.client.getPageheaders 参数接受 dict,而不是 twisted.web.http_headers.Headers代码>实例。

The headers parameter to twisted.web.client.getPage accepts a dict, not a twisted.web.http_headers.Headers instance.

鱼忆七猫命九 2024-12-15 16:01:07

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)...

标头本身对我来说看起来很正常。

HTTPClientFactory (used internally by getPage) constructor signature looks like:

3       def __init__(self, url, method='GET', postdata=None, headers=None,
204                  agent="Twisted PageGetter", timeout=0, cookies=None,
205                  followRedirect=1):

thus try passing headers as keyword param:

client.getPage(iUrl,method='GET',cookies=cj, headers=headers)...

headers themselves look quite normal for me.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文