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请求数据。

 

 

 

posted @ 2015-04-30 00:59  apple家园  阅读(1241)  评论(0编辑  收藏  举报