`

ASIHTTPRequest使用介绍

    博客分类:
  • ios
 
阅读更多
ASIHTTPRequest,是一个直接在CFNetwork上做的开源项目,提供了一个比官方更方便更强大的HTTP网络传输的封装。
ASIHTTPRequest 官方网站地址:http://allseeing-i.com/   
一、介绍
特色功能如下:
1.下载的数据直接保存到内存文件 系统里
2.提供直接提交(HTTP POST)文件的API
3.可以直接访问与修改HTTP请求与响应HEADER
4.轻松获取上传 与下载的进度信息
5.异步请求与队列,自动管理上传与下载队列管理机
6.认证与授权的支持
7.Cookie
8.请求与响应的GZIP
9.代理请求
ASIHTTPRequest -Main classes介绍:
1.ASIHTTPRequest:处理与服务 器的基本交互,包括下载上传,认证,cookies以及进度查看。
2.ASIFormDataRequest:是ASIHTTPRequest子类,主要处理post事件,它能使post更加简单。
3.ASINetworkQueue:是NSOperationQueue子类,当处理多个请求时可以使用 ,如果每次都是单个请求就不必使用。
4.ASIDownloadCache:该类允许ASIHTTPRequest从服务器传递cookie。
ASIHTTPRequest -Support classes介绍:
1.ASIInputStream:当使用ASIHTTPRequest上传数据时使用,如果工程中用了ASIHTTPRequest,就一定要include这个类。
2.ASIAuthenticationDialog:该类允许ASIHTTPRequest连接到服务器时呈现登录框。在所有iPhone  OS工程中都要使用,Mac OS工程中可以不用。
3.Reachability:相信很多人对这个类已经很熟悉了,当在你程序中侦测网络状态时它将非常有用。
ASIHTTPRequest -Protocols and configuration介绍:
1.ASIHTTPRequestDelegate:该协议指定了ASIHTTPRequest的delegate可能需要实现的方法,所有方法都是optional。
2.ASIProgressDelegate:该协议列出了uploadProgressDelegate和downloadProgressDelegate可能需要实现的方法,所有方法为optional。
3.ASICacheDelegate:该协议指定了download cache必须实现的方法。如果你要写你自己的download cache,确保实现required方法。
4.ASIHTTPRequestConfig.h: 该文件定义了编译时所有的全局配置选项。使用该文件中的方法可以在控制台中输出request正在进行的任务,Don't forget to turn these off in shipping applicati*****!(这句啥意思?...?时候要关闭?)

使用实例:

- (IBAction )fetchThreeImages:(id )sender

{    

     //清空三个 imageview

    [imageView1 setImage :nil ];

    [imageView2 setImage :nil ];

    [imageView3 setImage :nil ];

 

     //初始化一个网 络连接对象

    if  (!networkQueue) {

        networkQueue = [[ASINetworkQueue allocinit ];    

    }

    failed = NO ;

    [networkQueue reset ];// 设网络连接对象,如果代理灯一些设置

    [networkQueue setDownloadProgressDelegate: test];// 设置下载进度条的代理

    [networkQueue setRequestDidFinishSelector: @selector (imageFetchComplete:)];// 设置下载完成后,所调用的方法

    [networkQueue setRequestDidFailSelector: @selector (imageFetchFailed:)];// 设置下载失败调用的方法

    [networkQueue setShowAccurateProgress: YES ];// 是否 显示详细的进度,就是是否有一个连续的进入显示

    [networkQueue setDelegate :self ];// 设置网络连接对象的代理

 

    ASIHTTPRequest *request;

     // 设置下载的地址

    request = [ASIHTTPRequest  requestWithURL :[ NSURL  URLWithString : @"http://allseeing-i.com/ASIHTTPRequest/tests/images/small-image.jpg"]];

     // 设置下载的文件的保持路径

    [request setDownloadDestinationPath:[[ NSHomeDirectory()  stringByAppendingPathComponent: @"Documents" ] stringByAppendingPathComponent: @"1.png" ]];

     // 设置用于下载显示的进入的进度条

    [request setDownloadProgressDelegate: imageProgressIndicator1];

    [request setUserInfo:[NSDictionary  dictionaryWithObject :@"request1"  forKey :@"name" ]];

     //添加 这个下载

    [networkQueue addOperation :request];

 

    // 同上

    request = [[[ASIHTTPRequest  alloc ]  initWithURL :[ NSURL  URLWithString : @"http://allseeing-i.com/ASIHTTPRequest/tests/images/medium-image.jpg"]]  autorelease ];

    [request setDownloadDestinationPath:[[ NSHomeDirectory()  stringByAppendingPathComponent: @"Documents" ] stringByAppendingPathComponent: @"2.png" ]];

    [request setDownloadProgressDelegate:imageProgressIndicator2];

    [request setUserInfo:[NSDictionary  dictionaryWithObject :@"request2"  forKey :@"name" ]];

    [networkQueue addOperation :request];

 

    // 同上

    request = [[[ASIHTTPRequest  alloc ]  initWithURL :[ NSURL  URLWithString : @"http://allseeing-i.com/ASIHTTPRequest/tests/images/large-image.jpg"]]  autorelease ];

    [request setDownloadDestinationPath:[[ NSHomeDirectory()  stringByAppendingPathComponent: @"Documents" ] stringByAppendingPathComponent: @"3.png" ]];

    [request setDownloadProgressDelegate:imageProgressIndicator3];

    [request setUserInfo:[NSDictionary  dictionaryWithObject :@"request3"  forKey :@"name" ]];

    [networkQueue addOperation :request];

 

     //开始下

    [networkQueue go];

}

 

以上部分文字来自于:www.iosdk.com.

分享到:
评论

相关推荐

    ASIHTTPRequest使用指南中文版

    本指南将详细介绍如何使用ASIHTTPRequest进行同步和异步请求,以及如何利用回调函数和队列来更好地管理请求流程。 #### 二、创建和运行请求 ##### 1. 同步请求 同步请求会在当前线程中阻塞并等待响应,直至请求完成...

    ASIHTTPRequest使用指南(中文版)

    ### ASIHTTPRequest使用指南知识点详解 #### 一、概述与背景 ASIHTTPRequest是Objective-C下的一款流行的网络请求库,主要用于iOS和OS X平台上的HTTP请求处理。它简化了网络请求的过程,提供了同步和异步请求的...

    ASIHttpRequest库API的介绍和使用

    ### ASIHttpRequest库API的介绍和使用 #### 一、ASIHttpRequest库简介 ASIHttpRequest库是专门为iPhone开发设计的一个高效且功能丰富的HTTP网络访问库。它由Core Service开发而成,支持多种HTTP相关的功能,比如...

    ASIHTTPRequest框架

    尽管随着Apple的Foundation框架的更新,NSURLSession成为了更现代、更推荐的网络请求库,但ASIHTTPRequest因其易用性和丰富的特性,在许多老项目中仍然被广泛使用。对于那些不希望迁移现有代码或者需要兼容旧版iOS...

    ASIHttpRequest

    下面将详细介绍ASIHttpRequest库的核心功能、使用方法以及与HTTP请求相关的知识。 首先,ASIHttpRequest库支持GET、POST、PUT、DELETE等多种HTTP请求方法,开发者可以根据实际需求选择合适的方法。GET用于获取资源...

    IOS应用源码之【应用】-ASIHTTPRequest-强大的HTTP包装开源项目.rar

    下面将详细介绍 ASIHTTPRequest 的核心功能、优势以及如何在实际开发中使用它。 1. **核心功能**: - 支持同步和异步请求:ASIHTTPRequest 提供了两种请求模式,可以根据需求选择是否阻塞主线程。 - 自动处理 ...

    iOS ASIHttpRequest 请求https

    本文将详细介绍如何使用ASIHttpRequest发起HTTPS请求,并确保数据的安全性。 #### 二、ASIHttpRequest简介 ASIHttpRequest是Objective-C的一个开源库,它简化了iOS应用程序中的HTTP请求处理过程。开发者可以通过...

    [word]ios的ASIHTTPRequest学习.zip

    一、ASIHTTPRequest库介绍 ASIHTTPRequest库是一个开源项目,它提供了许多方便的功能,如自动管理HTTP缓存、上传和下载进度跟踪、断点续传等。这个库的主要优点在于它的灵活性和自定义性,开发者可以根据自己的需求...

    ASIHttpRequest 类库

    下面将详细介绍 ASIHttpRequest 的核心功能、使用方法以及它在网络处理API中的应用。 一、ASIHttpRequest 的主要特性: 1. **异步请求支持**:ASIHttpRequest 支持异步请求,允许应用程序在等待服务器响应的同时...

    让ASIHTTPRequest兼容ARC,并上传图片到服务器

    本篇文章将介绍如何使ASIHTTPRequest与ARC兼容,以及如何利用它来上传图片到服务器。 **一、ASIHTTPRequest与ARC兼容** 1. **手动迁移**: 虽然ASIHTTPRequest官方并未更新为ARC兼容,但可以通过手动修改源代码来...

    网络异步请求

    **ASIHttpRequest库的介绍** ASIHttpRequest是一个强大的Objective-C库,专门用于处理iOS和Mac OS X平台上的HTTP请求。它支持GET、POST等多种HTTP方法,同时提供了异步请求的功能,避免了因等待网络响应而导致的UI...

    Http 开源包

    本文将详细介绍ASIHTTPRequest的使用、特点以及相关的知识点。 1. **ASIHTTPRequest基本使用** ASIHTTPRequest库提供了一个强大的接口,使得发送HTTP请求变得非常简单。通过初始化一个ASIHTTPRequest对象并设置URL...

    ASI学习DEMO

    以下将详细介绍ASIHTTPRequest的主要功能、使用方法以及DEMO中可能包含的实践内容。 **ASIHTTPRequest库简介** ASIHTTPRequest是由Sam Soffes开发的,它提供了一个简单易用的接口,让iOS开发者能够方便地发送HTTP...

    下载data数据之后使用系统自带的JSON解析

    如果你使用的是ASIHTTPRequest,下载数据后需要先将NSData转换为NSString,然后才能使用`NSJSONSerialization`解析: ```swift if let jsonString = NSString(data: responseData, encoding: String.Encoding.utf8....

    IOS应用源码——pokeb-asi-http-request-v1.8-9-g3af858e.rar

    一、ASIHTTPRequest库介绍 ASIHTTPRequest是由Blake Watters开发的Objective-C库,它简化了iOS应用中的网络编程。这个库提供了易于使用的API,用于发起HTTP请求,处理响应,并能处理各种HTTP请求方法,如GET、POST、...

    ios_ASIHttp框架详解

    ASIHTTPRequest的详细介绍还包括 同步 异步 缓存 请求网络数据与传输数据

Global site tag (gtag.js) - Google Analytics