iOS上的http请求:post方法
1 NSString * URLString = @"www.baidu.com";
2 NSURL * URL = [NSURL URLWithString:[URLString stringByAddingPercentEscapesUsingE ncoding:NSUTF8StringEncoding]];
4 NSString * postString = @"theRegionCode=湖南";
5 NSData * postData = [postString dataUsingEncoding:NSUTF8StringEncoding]; //将请求参数字符串转成NSData类型
7 NSMutableURLRequest * request = [[NSMutableURLRequest alloc]init];
8 [request setHTTPMethod:@"post"]; //指定请求方式
9 [request setURL:URL]; //设置请求的地址
10 [request setHTTPBody:postData]; //设置请求的参数
11
12 NSURLResponse * response;
13 NSError * error;
14 NSData * backData = [NSURLConnection sendSynchronousRequest:request returningRes ponse:&response error:&error];
16 if (error) {
17 NSLog(@"error : %@",[error localizedDescription]);
18 }else{
19 NSLog(@"response : %@",response);
20 NSLog(@"backData : %@",[[NSString alloc]initWithData:backData encoding:NSUTF 8StringEncoding]);
21 }
post方式的时候参数是放在HTTPBody里面的,而且需要将字符串转码成响应的NSData类型,在接口文档里一般都有指出转码方式,需要按指定方式转码,这里的UTF8,也有gb2312的。request构建好了之后,和get方法一样使用NSURLConnection请求数据。