2013-02-24 64 views
2

我想向服務器發出HTTP請求並獲取一些數據。
這裏是我的代碼:NSMutableURLRequest setHTTPBody不起作用

NSString *post = @"mode=1"; 
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding]; 
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 
NSURL *url = [NSURL URLWithString:[@"http://example.com" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
//if i will give the url http://example.com?mode=1 it works 
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; 
[theRequest setHTTPMethod:@"POST"]; 
[theRequest setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[theRequest setHTTPBody:postData];` 

服務器是否將採取的模式= 1個參數就會使一個SQL查詢並返回一些數據。
這樣它不起作用,我認爲這是關於setHTTPBody
如果我將參數mode=1直接到它將工作的網址。
你能告訴我我錯了嗎?讓我知道你是否需要進一步的解釋。

+0

服務器是否支持'POST'請求​​? – trojanfoe 2013-02-24 19:24:08

+0

你我認爲是。它是一個xampp安裝(apache + php) – ozmax 2013-02-24 19:28:51

+0

使用另一種方法測試它。 – trojanfoe 2013-02-24 19:29:24

回答

0

if i will give the url http://example.com?mode=1 it works

然後,這是一個GET,而不是一個POST請求。所以使用GET或讓你的服務器處理POST。

+0

如果我將使用 '[theRequest setHTTPMethod:@「GET」];' 我收到此錯誤:: 錯誤域= kCFErrorDomainCFNetwork代碼= 303「操作無法完成(kCFErrorDomainCFNetwork錯誤303.)」UserInfo = 0x7174e90 {NSErrorFailingURLKey = http://ozmax.dyndns.org/dataManager,NSErrorFailingURLStringKey = http://ozmax.dyndns.org/dataManager} – ozmax 2013-02-24 19:52:52

相關問題