gpt4 book ai didi

Python:按顺序发送异步http请求并自动处理cookie?

转载 作者:可可西里 更新时间:2023-11-01 17:15:50 24 4
gpt4 key购买 nike

我正在为 Web 服务编写一个 Python (2.6) 接口(interface)。我需要通过 http 进行通信,以便:

  • Cookies 是自动处理的,
  • 请求是异步的
  • 请求的发送顺序受到尊重(接收对这些请求的响应的顺序无关紧要)。

我已经尝试过可以很容易地从内置库中派生出的东西,但遇到了不同的问题:

  • 使用 httpliburllib2,请求是同步的,除非我使用 thread,在这种情况下,不能保证遵守顺序,
  • 使用 asyncore,没有库自动处理网络服务发送的 cookie。

谷歌搜索后,似乎有很多 python 脚本或库的示例符合 3 个标准中的 2 个,但不符合其中的 3 个。我正在考虑通读 cookielib 源并将我需要的内容适应 asyncore(或仅以临时方式适应我的应用程序),但奇怪的是,目前还没有这样的东西存在,因为我想我不是唯一感兴趣的人。如果有人知道有关此问题的指示,将不胜感激。

谢谢。

编辑澄清:

我正在做的是将我的 IRC 客户端与网络聊天连接起来的本地代理。它创建一个监听 IRC 连接的套接字,然后在收到一个连接后,它通过 http 登录网络聊天。我无权访问网络聊天的行为,它使用 cookie 作为 session ID。当客户端向我的 python 代理发送多个 IRC 请求时,我必须通过 http 和 cookie 将它们转发到网络聊天的服务器。我也想异步执行此操作(我不想在发送下一个请求之前等待 http 响应),目前发生的情况是发送 http 请求的顺序不是发送 IRC 的顺序收到命令。

我希望这能澄清问题,如果没有,我当然会详细说明。

最佳答案

Using httplib and urllib2, the requests are synchronous unless I use thread, in which case the order is not guaranteed to be respected

除非您在将响应发送到第二个连接之前从第一个连接获得响应,否则您怎么知道订单已得到遵守?毕竟,您不关心响应的顺序,所以很可能响应按您期望的顺序返回,但您的请求处理顺序错误!

您可以保证顺序的唯一方法是在开始第二个请求之前等待确认第一个请求已成功到达(例如,您开始接收对它的响应)。为此,您可以在到达第一个线程的响应处理部分之前不启动第二个线程。

关于Python:按顺序发送异步http请求并自动处理cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2315151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com