我尝试了很多东西,但不知何故无法弄清楚 ios 中 HTTP POST 请求的基础知识。有时我会收到服务器错误,有时我会收到状态代码 200 但响应为空。后端服务器代码正常工作,它正在发送 json 数据作为响应。不知何故,我的 ios 应用程序无法获得该响应。任何帮助将不胜感激!
这是我尝试过的事情之一!GetAuthorOfBook 对应于一个接受 strBookName 作为 POST 参数并将作者姓名作为 json 对象返回的 php 服务器函数!
NSURL *url = [NSURL URLWithString:@"http://mysite.com/getAuthorOfBook"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
NSString *post = [NSString stringWithFormat:@"strBookName=Rework"];
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding];
NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
[request setValue:@"text/html" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData ];
//get response
NSHTTPURLResponse* urlResponse = nil;
NSError *error = [[NSError alloc] init];
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
responseData 应该具有作者的姓名(strAuthorName)作为 json "key":"value" 对。