ASI-ASIHTTPRequest网络请求最近体验分享

最近一直在看ASI请求数据这一块,都快蒙了都,其实我一直都是在懵懂的。

上个月,刚进公司,同事扔给了我一份代码,打开我懵掉了,完全看不懂,因为从来没用过ASI请求,

之前都是用的AFN,封装好的工具类,用起来很简单。

公司的代码一切都很好,就是请求这点儿,搞的不尽人意,可能同事也没弄过,好多请求的地方都没顾及到,

交给我的BUG,完全都是再请求结束,或者请求开始时的判断。

我问了好多朋友,同学,都说不曾用过,只是让我百度,goole
 可是,没辙吖,找不到。

于是,自己摸索一天,找到了解决方案,

其实他的请求方法很简单:

-
(void)setStartedBlock:(ASIBasicBlock)aStartedBlock

{

[startedBlockrelease];

startedBlock = [aStartedBlock copy];

}

-
(void)setHeadersReceivedBlock:(ASIHeadersBlock)aReceivedBlock

{

[headersReceivedBlockrelease];

headersReceivedBlock = [aReceivedBlock copy];

}

-
(void)setCompletionBlock:(ASIBasicBlock)aCompletionBlock

{

[completionBlockrelease];

completionBlock = [aCompletionBlock copy];

}

-
(void)setFailedBlock:(ASIBasicBlock)aFailedBlock

{

[failureBlockrelease];

failureBlock = [aFailedBlock copy];

}

-
(void)setBytesReceivedBlock:(ASIProgressBlock)aBytesReceivedBlock

{

[bytesReceivedBlockrelease];

bytesReceivedBlock = [aBytesReceivedBlock
copy];

}

-
(void)setBytesSentBlock:(ASIProgressBlock)aBytesSentBlock

{

[bytesSentBlockrelease];

bytesSentBlock = [aBytesSentBlock copy];

}

-
(void)setDownloadSizeIncrementedBlock:(ASISizeBlock)aDownloadSizeIncrementedBlock{

[downloadSizeIncrementedBlockrelease];

downloadSizeIncrementedBlock = [aDownloadSizeIncrementedBlock
copy];

}

-
(void)setUploadSizeIncrementedBlock:(ASISizeBlock)anUploadSizeIncrementedBlock

{

[uploadSizeIncrementedBlockrelease];

uploadSizeIncrementedBlock = [anUploadSizeIncrementedBlock
copy];

}

-
(void)setDataReceivedBlock:(ASIDataBlock)aReceivedBlock

{

[dataReceivedBlockrelease];

dataReceivedBlock = [aReceivedBlock copy];

}

-
(void)setAuthenticationNeededBlock:(ASIBasicBlock)anAuthenticationBlock

{

[authenticationNeededBlockrelease];

authenticationNeededBlock = [anAuthenticationBlock
copy];

}

-
(void)setProxyAuthenticationNeededBlock:(ASIBasicBlock)aProxyAuthenticationBlock

{

[proxyAuthenticationNeededBlockrelease];

proxyAuthenticationNeededBlock = [aProxyAuthenticationBlock
copy];

}

-
(void)setRequestRedirectedBlock:(ASIBasicBlock)aRedirectBlock

{

[requestRedirectedBlockrelease];

requestRedirectedBlock = [aRedirectBlock copy];

}

主要的就这些,我们常用的,就是:

//开始请求

-
(void)setStartedBlock:(ASIBasicBlock)aStartedBlock

{

[startedBlockrelease];

startedBlock = [aStartedBlock copy];

}

//请求完成

-
(void)setCompletionBlock:(ASIBasicBlock)aCompletionBlock

{

[completionBlockrelease];

completionBlock = [aCompletionBlock copy];

}

//请求失败

-
(void)setFailedBlock:(ASIBasicBlock)aFailedBlock

{

[failureBlockrelease];

failureBlock = [aFailedBlock copy];

}

所以,希望可以帮到大家都ASI的了解。

ASI-ASIHTTPRequest网络请求最近体验分享,布布扣,bubuko.com

时间: 2024-09-28 17:37:15

ASI-ASIHTTPRequest网络请求最近体验分享的相关文章

iOS9 适配网络请求,适配分享失败,适配无法正常跳转到客户端

问题描述:在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据.对ShareSDK来说,具体表现可能是,无法授权.分享.获取用户信息等. 还可能造成我们的编辑界面里传http之类的网络图片的时候,我们的编辑界面不会显示图片截图,解决的办法或者全面关闭https,允许使用http请求:或者把图片的域添加:又或者选择使用https的图片 解决方案(以下方法2选1): (1).暂时退回到http协议. 具体方法: 在项目的info.plist中添加一个Key:NSA

网络请求的封装

网络封装的原因: 开发者为了开发方便,出现了大量的第三方的网络请求,我们除了在cocoapods中引入第三方的开源,同时还应该注意的一点是:如果第三方的网络请求不更新了(比如ASI),或者网络请求工具类在新版本出现了bug导致暂时无法使用,我们工程中存在大量的网络请求,可能会导致我们工程无法运行,甚至导致工程需要重新走通,为了这种解决这种突发状况的产生,我们需要在网络请求之前,进行简单的封装: 这里我们以AFNetworking为例 HttpTool.h中: #import <Foundatio

iOS开发之网络请求(一)ASIHTTPRequest

全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大 基于底层的CFNetwork框架,运行效率很高 可惜作者早已停止更新,有一些潜在的BUG无人去解决 很多公司的旧项目里面都残留着它的身影,以前的很多iOS项目都是ASI + SBJson 会不会用ASI,可以算是检验是否为老牌iOS程序员的标准之一 ASI的github地址 https://github.com/pokeb/asi-http-request ASI的使用参考 http://www.cnblogs.com/d

ASI进行POST网络请求

第一步,导入文件 //ASI进行GET数据请求 需要导入的头文件是 ASIHTTPRequest.h //ASI进行POST数据请求 需要导入的头文件是 ASIFormDataRequest.h //都要遵守的协议是 ASIHTTPRequestDelegate 第二步,请求 <1>将字符串转成NSURL NSURL * url = [NSURL URLWithString:PATH]; <2>封装请求对象 GET请求封装的请求对象是ASIHTTPRequest POST请求封装的

JMeter 初体验/Java 网络请求脚本添加

Jmeter  简易使用(网上有很多图片,教程,此处 只是简单 描述一下): Jmeter   软件使用,首先 创建一个  测试计划,在该 测试计划上右键  添加- ->Threads(Users) -->  线程组 然后在 线程组上 右键--> 添加-->Sampler-->Http 请求 . 在 Http 请求中配置 响应的信息,保存即可 然后需要创建响应的  结果树,创建步骤:(在 该 线程组上 右键,添加 -->监听器-->查看结果树 ) 可根据个人需求,

ios之NSURLConnection网络请求数据/GET与POST方法

目前可能只是单纯的贴上了一些demo的代码,但是这些代码都是请求数据应该是最基础的使用方法吧,在项目的实际开发中可能用到系统的会非常少,一般都是采用别人非常成熟的第三方开源库来实现数据请求,目前常用的第三方网络请求主要是以下几个:<h3 style="margin: 18px 0px; padding: 0px 0px 5px; border: 0px; outline: 0px; font-size: 22px; vertical-align: baseline; color: rgb(

网络请求封装

网络请求封装 // // ASIHTTPRequest+Request.h // CloudShopping // // Created by sixiaobo on 14-7-9. // Copyright (c) 2014年 com.Uni2uni. All rights reserved. // #import "ASIFormDataRequest.h" #import "ASIDownloadCache.h" // downloadData是返回的数据,如

网络请求框架---Volley

去年的Google I/O大会为android开发者带来了一个网络请求框架,它的名字叫做Volley.Volley诞生的使命就是让Android的网络请求更快,更健壮,而且它的网络通信的实现是基于HttpURLConnection的.前几天我整理了两个网络请求工具类,应付日常工作的开发需求还是没问题的,自己分别在HttpURLConnection和HttpClient的基础上进行进一层的封装,保证了API的足够简洁友好.有兴趣的同学可以回头去翻翻,源码在Github上,搜索AndroidHttp

网络请求ASIhttp

? 1 2 3 4 #pragma mark 网络请求 -(void)httpNetworkData {     NSString *str [email protected]"http://115.29.177.74:8800/loose_change/login?"; ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <em>    NSURL *url=[NSURL URLWithString:str];