Python App Engine的urllib2:在本地运行,但在部署到GAE时不运行

时间:2013-09-22 19:59:04

标签: python google-app-engine urllib2

我的应用程序在GAE和测试服务器上运行良好,直到几天前。它连接到远程站点,登录并浏览页面并自动输入信息。远程站点使用动态URL跟随会话,每个页面都提供下一个呼叫的链接。 该程序非常基本:urllib2.urlopen然后regexp提取下一个url键然后新调用urllib2.urlopen等等。

现在我的应用程序在测试服务器上运行仍然完美但在GAE上部署时失败:我有一系列调用urllib2.open,大部分时间,远程站点说它已经在第二次调用时丢失了会话但是1/10我可以进入第三个电话,一旦GAE成功进入第四个电话。

这似乎指出它不是远程站点的安全问题(没有改变),也不是我在其他帖子中读过的重定向和cookie的问题。

用户向我报告说,直到9月14日才运作良好,20日报告失败。最近在GAE中处理URLfetch有变化吗?

我刚刚花了两天时间来解决这个问题,没有任何切实的线索。

这可能是IP地址的问题?远程服务器可以控制与IP地址和dynamicURL的会话,我可以想象GAE不保证在同一次GAE调用中,所有对URLlib的调用都由同一台机器处理?这可以解释为什么有时它适用于两个或三个连续的URL。我不知道足够的GAE内部机制来确认。

提前感谢您的想法。

1 个答案:

答案 0 :(得分:0)

我们不保证urlfetch来电都会在同一个IP地址上发送。