【问题标题】:How do I respond directly to a post request using urllib3 and app engine?如何使用 urllib3 和应用引擎直接响应发布请求?
【发布时间】:2012-08-15 06:29:05
【问题描述】:

我正在尝试使用应用引擎与第三方建立持久连接。具体来说,我正在连接一个实时竞价环境,我需要在 100 毫秒内做出响应,因此持久连接大大加快了进程。

为了做到这一点,我正在尝试使用 urllib3(如果有更好的方法请告诉我) 当我的请求处理程序的 post 方法被调用时,我想写回调用 url 以保持连接打开。我了解如何使用 urllib3 打开请求,但是如何保持调用处理程序上的 post 方法时创建的连接。

目前我正在尝试:

http = urllib3.PoolManager()
r = http.request('POST', self.request.url, fields={"foo":"bar"})

但我担心这样做会打开一个全新的连接。

谢谢, 山姆

【问题讨论】:

标签: python google-app-engine urllib3


【解决方案1】:

没有办法使用 AppEngine 实现与服务器的持久连接,根据设计,应用引擎上的每个请求在完成发送后都会关闭。

URL Fetch 服务不支持持久的 HTTP 连接。 当应用使用 URLConnection 对象访问响应数据时, App Engine 调用 URL Fetch 服务来完成请求。后 响应数据已被访问,请求数据不能被访问 修改。

应用无法为请求设置显式连接超时。

【讨论】:

  • Url Fetch 不是只用于外出吗?我想保留传入的连接并在同一个连接上写回,我认为我可以使用 urllib3 进行传出。
  • 由于同样的原因不可能,当您收到请求时,连接已断开。
猜你喜欢
  • 2017-04-10
  • 2016-06-30
  • 2015-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多