Appengine urlfetch问题(Python)

时间:2013-08-12 15:02:00

标签: python google-app-engine

我正在尝试使用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)

所以我无法理解这可能是不正确的,因为网址是为我制作的。

感谢。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我认为这是不可能的,以防止无限循环。来自urlfetch api文档page

  

为了防止应用程序导致无休止的请求递归,a   请求处理程序不允许获取自己的URL。它还是   用其他方法可能导致无休止的递归,所以运动   如果您的应用可以获取提供的URL请求,请注意   用户。