ASIHTTPRequest最新版本包

ASIHTTPRequest最新版本包

版本:大小:265KB

类别: 编程工具 系统:WinAll, WinXP, Win7, Win8, Win10

立即下载
  • ASIHTTPRequest最新版本包 0

ASIHTTPRequest是一款非常好用的编程工具,功能强大,使用方便,程序员朋友们不要错过了,还等什么,快约上你的小伙伴,一起来绿色资源网下载使用!

ASIHTTPRequest软件介绍

使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中。ASIHTTPRequest适用于基本的HTTP请求,和基于REST的服务之间的交互。

ASIHTTPRequest主要特色

通过简单的接口,即可完成向服务端提交数据和从服务端获取数据的工作

下载的数据,可存储到内存中或直接存储到磁盘中

能上传本地文件到服务端

可以方便的访问和操作请求和返回的Http头信息

可以获取到上传或下载的进度信息,为应用程序提供更好的体验

支持上传或下载队列,并且可获取队列的进度信息

支持基本、摘要和NTLM身份认证,在同一会话中授权凭证会自动维持,并且可以存储在Keychain(Mac和iOS操作系统的密码管理系统)中

支持Cookie

当应用(iOS 4+)在后台运行时,请求可以继续运行

支持GZIP压缩数据

内置的ASIDownloadCache类,可以缓存请求返回的数据,这样即使没有网络也可以返回已经缓存的数据结果

ASIWebPageRequest –可以下载完整的网页,包括包含的网页、样式表、脚本等资源文件,并显示在UIWebView /WebView中。任意大小的页面都可以无限期缓存,这样即使没有网络也可以离线浏览

ASIHTTPRequest软件功能

支持客户端证书

支持通过代理发起Http请求

支持带宽限制。在iOS平台,可以根据当前网络情况来自动决定是否限制带宽,例如当使用WWAN(GPRS/Edge/3G)网络时限制,而当使用WIFI时不做任何限制

支持断点续传

支持同步和异步请求

使用说明ASIHTTPRequest有很多功能,所有功能说明都可以在其官方网站的相关文档中查到,限于篇幅,本章仅简单介绍一下如何使用ASIHTTPRequest来进行同步Http请求和异步Http请求。在后面的章节中,我们还会用到它的一些其他功能。

在使用ASIHTTPRequest之前,请确认已经正确安装,然后在需要应用它的代码文件头部,加入:

#import ASIHTTPRequest.h

这样就可以在代码中使用ASIHTTPRequest相关的类。

创建一个同步请求

这是ASIHTTPRequest最简单的一种使用模式,发送startSynchronous消息后即开始在同一线程中执行HTTP请求,线程将一直等待直到请求结束(请求成功或者失败)。通过检查error属性可以判断请求是否成功或者有错误发生。

要获取返回的文本信息,调用responseString方法。如果下载的是二进制文件,例如图片、MP3,则调用responseData方法,可以得到一个NSData对象。

- (IBAction)grabURL:(id)sender

{NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];

[request startSynchronous];

NSError *error = [request error];

if (!error) {NSString *response = [request responseString];}}

一般情况下,应该优先使用异步请求代替同步请求,当在主线程中使用ASIHTTPRequest同步请求,应用程序的界面会锁定,无法进行任何操作,直到请求完成。

创建一个异步请求

上例中的同步请求,如果换成异步方式来调用,请求是在后台线程中运行,当请求执行完后再通知调用的线程。这样不会导致主线程进行网络请求时,界面被锁定等情况。

- (IBAction)grabURLInBackground:(id)sender

{NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];

[request setDelegate:self];

[request startAsynchronous];}

- (void)requestFinished:(ASIHTTPRequest *)request

{// 当以文本形式读取返回内容时用这个方法

NSString *responseString = [request responseString];

// 当以二进制形式读取返回内容时用这个方法

NSData *responseData = [request responseData];}

- (void)requestFailed:(ASIHTTPRequest *)request

{NSError *error = [request error];}。

查看全部

更新时间:2017-10-09
网友评论
我要跟贴
取消
同类推荐
热门精品
最新应用