在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是请求方法。iOS网络编程-ASIHTTPRequest框架同步请求
相关推荐
IOS应用源码之【应用】-ASIHTTPRequest-强大的HTTP包装开源项目.rar
前两年IOS应用源码-主要是用于毕业设计学习的。
本篇文章主要介绍了iOS - ASIHTTPRequest 网络请求 ,详细的介绍了 ASIHTTPRequest的使用,具有一定的参考价值,有兴趣的可以了解一下。
【应用】-ASIHTTPRequest-强大的HTTP包装开源项目.7z
【应用】★★★★★-ASIHTTPRequest-强大的HTTP包装开源项目.zipIOS应用例子源码下载【应用】★★★★★-ASIHTTPRequest-强大的HTTP包装开源项目.zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人学习研究...
1.改良版的 ASIHTTPRequest 不建议iOS 新手使用 2.有一定的iOS经验你会发现这个版本挺不错的! 谨慎使用,派别之争的 就别喷了无意义!
ios开发框架 ASIHttpRequest 资源来源于网上 非原创
iOS ASIHttpRequest 请求https
此为ASIHTTPRequest打包的Frameword,直接导入到工程即可使用。
全称是ASIHTTPRequest,外号“HTTP终结者”,可以实现http网络请求,功能十分强大。
ASIHttpRequest是iOS开发必备的网络数据请求包,使用方便,唯一的缺点是非ARC的,需要设置项目中的非ARC类
ASIHTTPRequest是简单易用的,它封装了CFNetwork API。使得与Web服务器通信变得更简单。它是用Objective-C编写的,可以在MAC OS X和iPhone应用中使用。 它适用于执行基本的HTTP请求和互动(或者说是反馈)。...
使用 iOS SDK 中的 HTTP 网络请求 API,相当的复杂,调用很繁琐,ASIHTTPRequest 就是一个对 CFNetwork API 进行了封装,并且使用起来非常简单的一套 API,外号 “HTTP终结者”,用 Objective-C 编写,运行效率很高...
后来产品部们要求网络访问可以取消,但是ASIHTTP 官方文档中说同步请求是不能取消的。经过深入研究后发现新版的ASIHTTP中,同步请求实际是可以cancel的 。 检查ASIHTTPRequest类的startSynchronous方法,注意下面这...
同时也是湖南省省级项目,App中有很多不足的地方,代码的可读性也不是很好,甚至于最开始的版本,网络请求都是同步请求,没有加载框,很容易卡死。但是不管如何,我都在完善。 这是开源的第一个版本,在后续每当上线版本...
网络请求的第三方框架,最新的框架。包括AFNetwork,ASIHttpRequest,和MKNetWorkKit.
iOS 网络异步假期 AsiHttPRequest的应用
ASI-HTTP-Request是通过CFNetwork API访问Web服务的一个开源封装类库包,...ASIHTTPRequest使用REST格式与Web服务进行通信,既支持基本的Http请求格式,也通过ASIFormDataRequest类可以很方便地提交POST数据和文件。
使用iOS SDK中的HTTP网络请求API,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,
ASIHTTPRequest网络请求集合,直接引入到项目中使用。