我现在正在用Google应用引擎发现最奇怪的问题。我从iOS和谷歌应用程序引擎发送POST请求,而不是调用GET处理程序。Google App Engine。 Google应用引擎将POST请求视为GET
我已经对这种情况进行了沙盒测试,无法弄清楚。我有一个只发送请求的iOS应用程序。除了服务之外,我已经评论了GAE上的所有内容。该服务只记录一个参数并返回。
我试过使用两种不同方式发送请求的iOS应用程序。两者都不起作用。
的iOS代码:
/*
NSURL * url = [NSURL URLWithString:@"http://beermonster-gngrwzrd.appspot.com/TestParameter"];
ASIFormDataRequest * _fdrequest = [[ASIFormDataRequest alloc] initWithURL:url];
[_fdrequest setPostValue:@"hello" forKey:@"testkey"];
[_fdrequest startAsynchronous];
*/
NSURL * __url = [NSURL URLWithString:@"http://beermonster-gngrwzrd.appspot.com/TestParameter"];
NSMutableURLRequest * __request = [NSMutableURLRequest requestWithURL:__url];
[__request setHTTPMethod:@"POST"];
NSString * post = [NSString stringWithFormat:@"testkey=hello"];
[__request setHTTPBody:[post dataUsingEncoding:NSUTF8StringEncoding]];
[NSURLConnection sendSynchronousRequest:__request returningResponse:nil error:nil];
我的应用程序引擎管理程序:
class TestParameter(webapp.RequestHandler):
def post(self):
logging.debug(self.request.get("testkey"))
self.response.out.write(self.request.get("testkey"))
print self.request.get("testkey")
def get(self):
logging.debug("get")
logging.debug(self.request.get("testkey"))
self.response.out.write(self.request.get("testkey"))
输出在GAE日志显示 “得到” 的代码路径是不正确的。
为什么POST请求会作为GET进入GAE的任何想法?我错过了GAE中的一些配置吗?
谢谢!
是否有可能对POST进行重定向至GET的响应? –
不知道如何发生或如何测试?我没有指示它这样做。有没有办法测试? – gngrwzrd
一种方法是在线路上使用数据包嗅探器来查看真正发生的事情。这种技术可以彻底解决所有可能使问题复杂化的应用程序级别的问题。 –