JQHttpRequest

前言

JQHttpRequest:目前二次封装网络库支持四种请求:GET、POST、PUT、DELETE较常见的请求,HEAD/PATH/COPY/OPTIONS/LINK/LOCK等不常用的后续会根据需求调整,本库支持数据缓存、缓存超时设置、请求超时设置等;支持cer证书验证等;

更新记录

0.0.5

新增文件上传, 文件下载, 设置请求头等

0.0.4

新增取消全部请求

0.0.3

新增CER证书验证

0.0.2

新增EGOCache缓存, 新增四种缓存方式

0.0.1

发布第一版本 0.0.1

Installation

From CocoaPods

pod "JQHttpRequest"

Manually

Drag all source files under floder JQHttpRequest to your project.

Usage

///Test

[[JQBaseRequest sharedManager].setRequest(COLLECTION_LIST).RequestType(JQRequestMethodGET).Cachetype(JQBaseRequestReloadIgnoringLocalCacheData).cerName(nil).timeoutInterval(30).CachTime(60).Parameters(nil) startRequestWithSuccess:^(NSURLSessionDataTask *task, id responseObject) {

} progress:^(NSProgress *progress) {

/* NSProgress 不能为nil,因为AFN的默认参数是 _Nonnull 修饰的!*/

} failure:^(NSURLSessionDataTask *task, NSError *error) {

NSLog(@"%@",error);

}];

参数说明:

setRequest: 请求url

RequestType:

请求类型:

JQRequestMethodGET = 0,

JQRequestMethodPOST,

JQRequestMethodPUT,

JQRequestMethodDELETE 目前支持四种,会持续更新;

-------------------------------------------------------------------------

Cachetype: 缓存类型:

JQBaseRequestReturnCacheDataThenLoad = 0, ///< 有缓存就先返回缓存,同步请求数据

JQBaseRequestReloadIgnoringLocalCacheData, ///< 忽略缓存,重新请求

JQBaseRequestReturnCacheDataElseLoad, ///< 有缓存就用缓存,没有缓存就重新请求(用于数据不变时)

JQBaseRequestReturnCacheDataDontLoad, ///< 有缓存就用缓存,没有缓存就不发请求,当做请求出错处理(用于离线模式)

cerName: cer证书名称,设置则开启验证,默认不开启,若设置请确保名称正确,否则导致crash;

timeoutInterval: 请求超时设置 默认20s

CachTime: 设置缓存时间 默认时间一天

Parameters: 参数设置 字典传输

startRequestWithSuccess: 请求函数,提供三个,如下:

/**

* 发送请求

*

* @param Success 成功的回调

* @param Progress 进度的回调

* @param Fail 请求错误的回调

*/

- (void)startRequestWithSuccess:(JQResponseSuccess)Success progress:(JQProgress)Progress failure:(JQResponseFail)Fail;

/**

* 上传文件

*

* @param Success 成功的回调

* @param Progress 进度的回调

* @param Fail 请求错误的

*/

- (void)uploadfileWithSuccess:(JQResponseSuccess)Success progress:(JQProgress)Progress failure:(JQResponseFail)Fail;

/**

* 下载文件

*

* @param Success 成功的回调

* @param Progress 进度的回调

* @param Fail 请求错误的

* @return 返回NSURLSessionDownloadTask实例,可用于暂停继续,暂停调用suspend方法,重新开启下载调用resume方法

*/

- (NSURLSessionDownloadTask *)downloadWithSuccess:(JQFileSuccess)Success progress:(JQProgress)Progress failure:(JQResponseFail)Fail;

Note

progress:^(NSProgress *progress)不能为nil,因为AFN的默认参数是 _Nonnull 修饰的!

正确姿势:

Other

Star

iOS开发者交流群:①群:446310206 ②群:426087546 喜欢就❤️❤️❤️star一下吧!

Love is every every every star! Your support is my renewed motivation!

License

This code is distributed under the terms and conditions of the MIT license.

jq封装post请求数据_GitHub - xiaohange/JQHttpRequest: GET/POST / PUT / DELETE 网络请求的封装...相关推荐

  1. android post请求添加公共参数_XHttp2 一个功能强悍的网络请求库

    XHttp2 一个功能强悍的网络请求库,使用RxJava2 + Retrofit2 + OKHttp组合进行封装.还不赶紧点击使用说明文档,体验一下吧! 项目地址 关于我 https://github ...

  2. 如何在js中使用ajax请求数据,在 JS 中怎么使用 Ajax 来进行请求

    在 JS 中怎么使用 Ajax 来进行请求 发布时间:2021-07-22 09:48:43 来源:亿速云 阅读:78 作者:chen 本篇内容介绍了"在 JS 中怎么使用 Ajax 来进行 ...

  3. 如何在js中使用ajax请求数据,在 JS 中如何使用 Ajax 来进行请求

    做者:Danny Markov 译者:前端小智 来源:tutorialzine 点赞再看,微信搜索 [大迁世界]关注这个没有大厂背景,但有着一股向上积极心态人.本文 GitHub https://gi ...

  4. 超简单-用协程简化你的网络请求吧,兼容你的老项目和旧的网络请求方式

    前言 在Kotlin协程(后简称协程)出来之后,颠覆了我们很多工具类的封装方式,大大简化了我们很多api的调用,并且使异步操作逻辑更清晰了 其中一个很标志性的地方就属网络请求了,以前的网络请求方式声明 ...

  5. android 请求方式有哪些,Android中的几种网络请求方式详解

    Android应用经常会和服务器端交互,这就需要手机客户端发送网络请求,下面整理四种常用网络请求方式. java.net包中的HttpURLConnection类 Get方式: // Get方式请求 ...

  6. android多个网络请求如何依次执行,Android 并发和串行网络请求

    需求 假如有上面的需求,我们从MVC模型上考虑,View层可以使用ListView的多Type,Model层可以考虑串行和并行处理数据,下面分别给出两种不同的处理思路 串行思路 这里直接给出一般的串行 ...

  7. 微信小程序网络请求异常怎么办_解决·微信小程序开发-网络请求报Invalid request 400错误...

    今天学习了一下微信小程序的入门开发,在使用网络请求时,发现根据微信官方的API的方法进行操作出现Invalid request 400错误,到底怎么回事呢? 首先我们来看微信API网络请求 示例代码: ...

  8. php如何返回数据请求数据格式化,PHP以json或xml数据格式返回请求数据的封装代码...

    现在主流的数据格式无非就是json和xml,下面我们来看看如何用php来封装一个返回这两种格式数据的类,下面青岛星网跟大家一起分享. 1.以json格式返回数据 json格式返回数据比较简单,直接将我 ...

  9. ajax请求数据用于另一个ajax,在另一个AJAX请求中使用数据

    我正在学习ruby,但是我正需要一些JS/JQuery来处理一个我正在和朋友一起工作的小项目.我们正在使用Last.fm API,并试图构建一个页面,我们将从两个不同的URL调用Json数据.在另一个 ...

最新文章

  1. jeecms v9 vue环境搭建
  2. Go 语言基础(三) 之 函数
  3. CF1365G Secure Password(构造,交互,二进制分组)
  4. 编码的未来是“无代码”
  5. gin 如何返回html_Gin(三):与模板配合使用 tmpl,go web 开发最火框架之一
  6. AAAI'22 | 基于情感分析的开放域对话系统
  7. JS实现数字千位符格式化方法
  8. CSDN小秘书 测试版
  9. 威纶触摸屏485轮询通讯_威纶通触摸屏与PLC实现一机多屏通讯方法
  10. linux下重启tomcat命令
  11. 方法重载时,需要遵循以下三条原则
  12. workman 日志_Workman手册笔记一
  13. 第四章 虚拟现实的计算体系结构
  14. 分布式存储FastDFS(自用)
  15. HTML5+CSS3 02(表格、表单标签、语义化,字符实体标签)
  16. 【测试源】bbb_sunflower_1080p_30fps_normal.mp4 等下载地址
  17. 使用二维数组表示N阶矩阵
  18. allegroFBGA换PIN并回执ORCAD
  19. hive常用函数之其他函数
  20. Android Studio问题解决:Gradle sync failed: Sync failed: reason unknown

热门文章

  1. 企业级应用WebLogic11g集群配置与项目实施_WebLogic部署培训教程
  2. Apache2 httpd.conf配置文件中文版详解
  3. 在云中使用 MapReduce 和负载平衡
  4. php curl安装检查,如何判断php的curl是否已安装
  5. 【Python】二维数组,使用 * 号来进行重复,导致结果不符合预期
  6. linux常用命令(1)帮助命令man使用
  7. reactjs组件的props属性及其特点
  8. go解析复杂json数组字符串:结合使用json和simple-json库
  9. Golang gin框架:发送GET POST PUT DELETE请求
  10. 【收藏】GeoMesa Spark