0

我正在尝试使用 urlfetch 向我的应用程序(发送请求的同一应用程序)发出请求,但是它不起作用。

我的代码如下;

uploadurl = 'http://myapp.appspot.com/posturl'

result = urlfetch.fetch(
             url=uploadurl,
             payload=data,
             method=urlfetch.POST,
             headers={'Content-Type': 'application/x-www-form-urlencoded'})

当我调用它时根本没有错误,一切似乎都正常工作,但是请求永远不会到达。出于调试目的,我将 uploadurl 更改为我拥有的另一个应用程序,它运行良好。任何想法为什么我不能使用 urlfetch 将请求发送到同一个应用程序?

我要调用的完整(真实)网址由

session = str(os.urandom(16).encode('hex'))
uploadurl = blobstore.create_upload_url('/process?session=' + session)

所以我不明白这怎么可能是不正确的,因为网址是为我制作的。

谢谢。

4

2 回答 2

1

我不知道您如何验证请求“永远不会到达”。Blobstore URL 不是由应用程序的实际代码处理的,而是由 App Engine 运行时本身处理的,因此如果您查看日志,则不会在那里看到该请求。

于 2013-08-12T18:41:19.423 回答
0

我认为这是不可能的,以防止死循环。从 urlfetch api 文档页面

为了防止应用程序导致请求的无限递归,请求处理程序不允许获取自己的 URL。使用其他方式仍然可能导致无休止的递归,因此如果您的应用可以获取用户提供的 URL 请求,请谨慎行事。

于 2013-10-29T09:40:13.507 回答