我現在正在用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
一種方法是在線路上使用數據包嗅探器來查看真正發生的事情。這種技術可以徹底解決所有可能使問題複雜化的應用程序級別的問題。 –