温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iOS网络编程-ASIHTTPRequest框架同步请求

发布时间:2020-08-14 17:41:18 阅读:1481 作者:tony关东升 栏目:移动开发
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在ASIHTTPRequest框架中与HTTP请求相关的类有:ASIHTTPRequest和ASIFormDataRequest,其中最常用的是ASIHTTPRequest,ASIFormDataRequest是ASIHTTPRequest的子类,ASIFormDataRequest可以发送类似与HTML表单数据,也可以上传数据,默认采用POST请求方法。也可以其它的HTTP请求方法。它们都可以进行异步或同步请求。下面我们从最简单的GET同步请求介绍。

1、实现GET同步请求

实现GET同步请求使用最基本请求类ASIHTTPRequest就可以了。我们还是使用MyNotes应用为例,只考虑查询功能实现,修改主视图控制器MasterViewController.m的startRequest方法如下:
 

-(void)startRequest  {  NSString *strURL = [[NSString alloc] initWithFormat:  @”http://iosbook3/mynotes/webservice.php?email=%@&type=%@&action=%@”,  @”<你的iosbook1.com用户邮箱>”,@”JSON”,@”query”];  NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];  ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];  [request startSynchronous];  NSLog(@”请求完成…”);  NSError *error = [request error];  if (!error) {  //NSString *response = [request responseString];  NSData *data  = [request responseData];  NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:data  options:NSJSONReadingAllowFragments error:nil];  [self reloadView:resDict];  }  } 



使用ASIHTTPRequest类,需要引入头文件ASIHTTPRequest.h。

2、实现POST同步请求

发送POST方法的请求,无论同步还是异步请求都是使用ASIFormDataRequest类,只不过它们稍微有些不同。本节我们只介绍同步请求下使用ASIFormDataRequest类来发送POST方法。修改主视图控制器MasterViewController.m的startRequest方法如下:
 

-(void)startRequest  {  NSString *strURL = @”http://iosbook3/mynotes/webservice.php”;  NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];     ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];  [request setPostValue:@ "<你的iosbook1.com用户邮箱>" forKey:@"email"];                ③  [request setPostValue:@"JSON" forKey:@"type"];  [request setPostValue:@"query" forKey:@"action"];  [request startSynchronous];  NSLog(@”请求完成…”);  NSError *error = [request error];  if (!error) {  //NSString *response = [request responseString];  NSData *data  = [request responseData];  NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:data  options:NSJSONReadingAllowFragments error:nil];  [self reloadView:resDict];  }  } 



使用ASIFormDataRequest需要引入头文件ASIFormDataRequest.h。

如果我们想发送除了GET和POST以外的其它请求方法,可以使用[request setRequestMethod:@"PUT"]语句设置,其中PUT是请求方法。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×