2

我想向服务器发出 HTTP 请求并获取一些数据。
这是我的代码:

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];`

如果服务器将采用 mode=1 参数,它将进行 sql 查询并返回一些数据。
这样它不起作用,我认为这是关于setHTTPBody.
如果我将参数mode=1直接放到网址中,它将起作用。
你能告诉我我哪里错了吗?如果您需要进一步解释,请告诉我。

4

1 回答 1

0

如果我给网址http://example.com?mode=1它可以工作

那么这是一个 GET,而不是一个 POST 请求。所以使用 GET 或让您的服务器处理 POST。

于 2013-02-24T19:49:48.183 回答