zoukankan      html  css  js  c++  java
  • 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的了解。

  • 相关阅读:
    pandas 移动列的方法
    D-Link 路由器新漏洞,黑客可远程执行任意命令
    世界第一黑客:未来云安全的威胁
    黑客针对参与Covid-19疫苗分发的公司
    iPhone为盲人自动识别并标记按钮和UI功能
    小心!基于UEFI引导的病毒,重装系统也清除不了
    美国禁用面部识别技术,到底是什么原因?
    Apple的双向无线充电器现已上市,预计最快在本周发货
    警惕黑客通过打印机侵入你的系统
    为什么未来没有密码?黑客还能破解吗?网友:同样危险
  • 原文地址:https://www.cnblogs.com/WLL-Hero/p/3765609.html
Copyright © 2011-2022 走看看