星空网 > 软件开发 > 操作系统

iOS中POST异步请求

POST异步请求(代理)

1、遵循<NSURLConnectionDataDelegate>

@interface ViewController ()<NSURLConnectionDataDelegate>

2、NSMutableData类型的reData属性是用来拼接数据的

@property (nonatomic,strong)NSMutableData *reDtata;

3、获取url

 NSString *urlString = @"http://api.tudou.com/v3/gw";  NSURL *url = [NSURL URLWithString:urlString];

4、创建request请求

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

5、设置HTTPMethod为POST请求(默认为GET请求)

request.HTTPMethod = @"POST";

6、设置HTTPBody(url中的body部分,如果body部分含有中文需要转化)

 NSString *bodyStr = @"method=album.channel.get&appKey=myKey&format=json&channel=c&pageNo=1&pageSize=15";  NSData *bodyData = [bodyStr dataUsingEncoding:NSUTF8StringEncoding];  request.HTTPBody = bodyData;

7、创建连接并设置代理

 [NSURLConnection connectionWithRequest:request delegate:self];

8、实现代理方法

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{  self.reDtata = [NSMutableData data];}- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{  [_reDtata appendData:data];}- (void)connectionDidFinishLoading:(NSURLConnection *)connection{  NSMutableDictionary *dic = [NSJSONSerialization JSONObjectWithData:_reDtata options:(NSJSONReadingAllowFragments) error:nil];  NSLog(@"%@",dic);}- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{  }

 

 

 

下面是实现的所有代码

- (IBAction)postAsyc:(id)sender{}是从storyboard里面拖出来的控件代码,也可以直接写代码实现,写一个button和它的实现方法即可。
#import "ViewController.h"@interface ViewController ()<NSURLConnectionDataDelegate>@property (nonatomic,strong)NSMutableData *reDtata;@end@implementation ViewController- (void)viewDidLoad {  [super viewDidLoad];  // Do any additional setup after loading the view, typically from a nib.}- (IBAction)postAsyc:(id)sender {  NSString *urlString = @"http://api.tudou.com/v3/gw";  NSURL *url = [NSURL URLWithString:urlString];  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];  request.HTTPMethod = @"POST";  NSString *bodyStr = @"method=album.channel.get&appKey=myKey&format=json&channel=c&pageNo=1&pageSize=15";  NSData *bodyData = [bodyStr dataUsingEncoding:NSUTF8StringEncoding];  request.HTTPBody = bodyData;  [NSURLConnection connectionWithRequest:request delegate:self];  }- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{  self.reDtata = [NSMutableData data];}- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{  [_reDtata appendData:data];}- (void)connectionDidFinishLoading:(NSURLConnection *)connection{  NSMutableDictionary *dic = [NSJSONSerialization JSONObjectWithData:_reDtata options:(NSJSONReadingAllowFragments) error:nil];  NSLog(@"%@",dic);}- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{  }- (void)didReceiveMemoryWarning {  [super didReceiveMemoryWarning];  // Dispose of any resources that can be recreated.}@end

 




原标题:iOS中POST异步请求

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

独家整理!法国&德国EPR知识点合集和专业解读​(1):https://www.kjdsnews.com/a/664435.html
亚马逊“增长建议”助力卖家壮大业务:https://www.kjdsnews.com/a/664436.html
站外引流会被封?亚马逊发布重要声明!:https://www.kjdsnews.com/a/664437.html
Lazada双十一备战攻略,商品价格如何调整:https://www.kjdsnews.com/a/664438.html
卖不掉的滞销品,你还留着它做什么用?:https://www.kjdsnews.com/a/664439.html
Shopee卖家自行寄件8次 即可获得双12专属曝光和奖励金:https://www.kjdsnews.com/a/664440.html
深圳大湾区游轮夜景 深圳大湾区游轮夜景图:https://www.vstour.cn/a/363186.html
美国圣地亚哥旅游攻略:圣地亚哥必去旅游景点:https://www.vstour.cn/a/363187.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流