在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框架同步请求
相关推荐
ASIHTTPRequest框架是一款经典的Objective-C库,专为iOS和Mac OS X平台设计,用于处理HTTP网络请求。这个框架的出现早于Apple的官方网络库NSURLSession,是开发者在早期进行网络编程时常用的工具。以下是对该框架的...
【ASIHTTPRequest】是一个开源库,用于简化iOS应用的网络请求。求职者通过引入这个库优化了客户端和服务端的数据交互和同步机制,显示了他们对第三方库的集成和优化能力。 【教育背景】虽然没有具体列出,但提到...
在实际项目中,由于ASIHTTPRequest已经停止更新,对于新的iOS项目,开发者通常会转向更现代的网络框架,如AFNetworking或Alamofire。然而,理解ASI的工作原理对于理解网络编程的基本概念仍然很有帮助,特别是对于...
ASIHTTPRequest是iOS开发中一个广泛使用的HTTP请求库,由Sam Soffes开发并维护,它为Objective-C编程语言提供了一种简单、灵活的方式来处理网络请求。这个资源包包含了实现网络请求所需的所有相关文件,便于开发者将...
总之,ASIHTTPRequest为iOS和Mac开发者提供了一套强大且易用的网络请求工具,极大地简化了网络编程的工作,是许多iOS应用开发中的首选库。然而,需要注意的是,虽然ASIHTTPRequest在过去非常流行,但随着Apple推出更...
通过提供丰富的特性和支持,如同步/异步数据下载、表单提交、文件上传、Cookie处理等,使得开发者能够更加专注于应用程序的核心逻辑而不是复杂的网络编程细节。同时,它的配置和安装也相对简单,对于需要频繁进行...
总的来说,ASIHTTPRequest为iOS开发者提供了一套方便的网络请求工具,虽然现在有了更现代的URLSession,但它的概念和用法对于理解网络请求和异步编程仍然很有价值。通过学习和实践,开发者可以更好地掌握网络请求在...
同步请求可以通过`sendSynchronousRequest:returningResponse:error:`方法,而异步请求则使用`connectionWithRequest:delegate:`,并实现其代理方法来处理响应。相比于ASIHTTP,NSURLConnection更符合苹果的最新编程...
12. **网络编程**:了解URL Loading System和ASIHTTPRequest等网络请求库,实现HTTP请求和数据交换。 13. **推送通知**:学习如何配置Apple Push Notification Service(APNs)并发送推送通知。 14. **测试与调试*...