ASIHTTPRequest

ASIHTTPRequest

版本:暂无
软件类型
编程开发
软件大小
265.84 KB
支持系统
WinAll
更新时间
2023-05-11

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

主要特色

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

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

能上传本地文件到服务端

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

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

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

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

支持Cookie

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

支持GZIP压缩数据

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

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

软件功能

支持客户端证书

支持通过代理发起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];}。

免责声明:本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理,我们将尽快删除相关内容。

发表评论
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关
  • 全部评论(0
    还没有评论,快来抢沙发吧!