【发布时间】:2010-01-02 09:51:16
【问题描述】:
我注意到某些 Google 服务正在阻止来自 App Engine 服务器的请求,从而导致 urlfetch 下载错误。一个示例是 feedproxy.google.com 网址(例如,http://feedproxy.google.com/~r/blabbermouth/~3/cAk78LX4gJE/news.aspx)。
这发生在我尝试过的所有应用程序上,包括我以前从未用于任何类型的 url 获取的应用程序 ID。此行为也不会在本地 SDK 上发生。这让我相信这是在发出请求时使用任何 GAE IP 地址的结果。
奇怪的是,它会导致抛出 DownloadError,而不是成功检索到的响应中的错误 status_code。在本地使用 urlfetch 或 httplib 工作得很好,所以这个 DownloadError 我还没有理解,或者它只是一个错误,在这种情况下我会提交一张票。
【问题讨论】:
-
有人提到 (groups.google.com/group/google-appengine/msg/98b38f1f5cdb592c) 添加 headers={ "Accept-Encoding" : "identity" },但这似乎没有帮助。也许您可以尝试设置一个简单的服务器,以查看 apppot 发送的请求标头与您的本地计算机之间的区别。也许这里有一些类似于接受编码头问题的问题。
-
不,标题不是问题。我已经在本地和生产环境中尝试了完全相同的 fetch 调用,AFAIK 的唯一区别是使用的 IP 地址。
标签: google-app-engine ip-address urlfetch