SDK 1.9.23上打破了AppEngine urlfetch?

时间:2015-07-08 09:06:35

标签: python google-app-engine

以下代码(见下文)使用不同版本的AppEngine SDK返回以下HTTP代码:

  • 1.9.19:200
  • 1.9.20:200
  • 1.9.21:200
  • 1.9.22:[未经过测试,在弃用的SDK目录中找不到SDK]
  • 1.9.23: 404

所有SDK几乎同时进行测试,手动验证页面是否存在。

...

from google.appengine.api import urlfetch
from google.appengine.ext import testbed

tb=testbed.Testbed()
tb.activate()
tb.init_urlfetch_stub()        

http=urlfetch.fetch(method="GET", url="http://sports.coral.co.uk/football/outrights")

print http.status_code

1 个答案:

答案 0 :(得分:1)

升级至1.9.24。我也遇到了1.9.23的问题,并将其缩小为http请求,urlfetch看起来像代理请求:

使用1.9.23的无效请求:

GET http://example.com:80/ HTTP/1.1
Host: example.com

使用1.9.24的有效请求:

GET / HTTP/1.1
Host: example.com

有些HTTP服务器接受这两种请求(例如devapp服务器),但有些不接受(例如,弹性搜索)。