【发布时间】:2010-02-22 23:43:52
【问题描述】:
我正在编写一个到 Web 服务的 python (2.6) 接口。我需要通过 http 进行通信,以便:
- Cookies 会自动处理,
- 请求是异步的,
- 遵守发送请求的顺序(接收对这些请求的响应的顺序无关紧要)。
我尝试了可以从内置库中轻松派生的内容,但面临不同的问题:
- 使用
httplib和urllib2,请求是同步的,除非我使用thread,在这种情况下不能保证遵守顺序, - 使用
asyncore,没有库可以自动处理网络服务发送的cookie。
经过一番谷歌搜索,似乎有很多 Python 脚本或库示例符合 3 个条件中的 2 个,但不是其中的 3 个。我正在考虑通读cookielib 资源并将我需要的内容调整为asyncore(或仅以ad hoc 方式适用于我的应用程序),但没有这样的东西似乎很奇怪还存在,因为我想我不是唯一感兴趣的人。如果有人知道有关此问题的指针,将不胜感激。
谢谢。
编辑澄清:
我正在做的是一个本地代理,它将我的 IRC 客户端与网络聊天接口。它创建一个侦听 IRC 连接的套接字,然后在接收到一个后,它通过 http 登录网络聊天。我无权访问网络聊天的行为,它使用 cookie 作为会话 ID。当客户端向我的 python 代理发送多个 IRC 请求时,我必须通过 http 和 cookie 将它们转发到网络聊天的服务器。我也想异步执行此操作(我不想在发送下一个请求之前等待 http 响应),目前发生的情况是发送 http 请求的顺序不是 IRC 的顺序命令已收到。
我希望这可以澄清问题,如果没有,我当然会详细说明。
【问题讨论】:
-
我认为如果你描述你真正想做的事情,你会得到更好的帮助,因为你描述的东西很难理解。为什么 cookie 会参与到您不关心响应何时到来的序列中?
标签: python http asynchronous cookies