AFURLRequestSerialization

AFURLRequestSerialization是用来对发出的请求进行一些处理

AFPercentEscapedStringFromString方法将string里面的:#[]@!$&’()*+,;=字符替换成%

NSString * AFPercentEscapedStringFromString(NSString *string) {static NSString * const kAFCharactersGeneralDelimitersToEncode = @":#[]@"; // does not include "?" or "/" due to RFC 3986 - Section 3.4static NSString * const kAFCharactersSubDelimitersToEncode = @"!$&'()*+,;=";// 从可用字符替换删除掉:#[]@!$&'()*+,;=这些字符NSMutableCharacterSet * allowedCharacterSet = [[NSCharacterSet URLQueryAllowedCharacterSet] mutableCopy];[allowedCharacterSet removeCharactersInString:[kAFCharactersGeneralDelimitersToEncode stringByAppendingString:kAFCharactersSubDelimitersToEncode]];// FIXME: https://github.com/AFNetworking/AFNetworking/pull/3028// return [string stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacterSet];// 声明批量处理的大小为50static NSUInteger const batchSize = 50;NSUInteger index = 0;NSMutableString *escaped = @"".mutableCopy;// 循环将string里面:#[]@!$&'()*+,;=的字符替换成%while (index < string.length) {
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wgnu"NSUInteger length = MIN(string.length - index, batchSize);
#pragma GCC diagnostic popNSRange range = NSMakeRange(index, length);// To avoid breaking up character sequences such as 												

iOS-AFNetworking源码解析(五)相关推荐

  1. cartographer 源码解析 (五)

    相关链接: cartographer 源码解析(一) cartographer 源码解析(二) cartographer 源码解析(三) cartographer 源码解析(四) cartograph ...

  2. (Nacos源码解析五)Nacos服务事件变动源码解析

    Nacos源码解析系列目录 Nacos 源码编译运行 (Nacos源码解析一)Nacos 注册实例源码解析 (Nacos源码解析二)Nacos 服务发现源码解析 (Nacos源码解析三)Nacos 心 ...

  3. iOS AFNetWorking源码详解(一)

    来源:Yuzeyang 链接:http://zeeyang.com/2016/02/21/AFNetWorking-one/ 首先来介绍下AFNetWorking,官方介绍如下: AFNetworki ...

  4. Tomcat源码解析五:Tomcat请求处理过程

    前面已经分析完了Tomcat的启动和关闭过程,本篇就来接着分析一下Tomcat中请求的处理过程. 在开始本文之前,咋们首先来看看一个Http请求处理的过程,一般情况下是浏览器发送http请求-> ...

  5. Spring源码解析(五)-Bean的实例化流程(上)

    在前面已经完成了对需要实例化bean的收集并封装成BeanDefinition,并且将BeanPostProcess等组件进行了提前实例化.接下来就到了容器启动的最后一步,也是最复杂的一步-实例化be ...

  6. spring源码解析五

    2019独角兽企业重金招聘Python工程师标准>>> 1.创建用于承载属性的BeanDefinition 这是一个接口,在spring中存在三种实现:RootBeanDefinit ...

  7. mybatis源码解析(五) --- typehandler注册和处理的查询结果对象的类型转换

    上一次分析了mapper接口动态代理调用的处理过程,在查询结果后,然后转换的java所对应的类型,这篇文章将对这个类型转换处理详细介绍,在Configuration中TypeHandlerRegist ...

  8. iOS本地缓存方案之YYCache源码解析

    iOS持久化方案有哪些? 简单列举一下,iOS的本地缓存方案有挺多,各有各的适用场景: NSUserDefault : 系统提供的最简便的key-value本地存储方案,适合比较轻量的数据存储,比如一 ...

  9. iOS 项目源码大全 github 国内外大神

    github排名https://github.com/trending,github搜索:https://github.com/search 主要工作说明: 重新整理了Xcode好用的插件,信息更详细 ...

  10. QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数

    版权声明 请尊重原创作品.转载请保持文章完整性,并以超链接形式注明原始作者"tingsking18"和主站点地址,方便其他朋友提问和指正. QT源码解析(一) QT创建窗口程序.消 ...

最新文章

  1. SZUACM集训字符串基础总结: 字符串最小表示 ,KMP, EXKMP, Manracher, Trie树,字符串的hash; 附带一写常见的运用技巧,邝斌大佬的板子和例题[持续更新]
  2. 基础知识《二》java的基本类型
  3. 与uefi_UEFI + GPT 启动 VHD
  4. python工程师收入-Python工程师薪水居然这么高
  5. linux安装包安装mysql5.7
  6. RHEL5.4在线调整磁盘分区大小
  7. 每天一道CTF---bugku-----有趣的题(PHP语言特性)
  8. IOS仿微信键盘快捷工具栏
  9. JavaScript(三)数值类型
  10. onlyoffice毕升office
  11. FIX - 克隆虚拟机NAT模式网络不通、不稳定、vMnet8网络故障、网卡冲突、ssh连接慢
  12. Day.js 常用方法
  13. python不是有效的win32应用程序_python.exe不是有效的win32应用程序
  14. 网易计费系统架构升级之路
  15. 地理空间框架(二):大地水准面、似大地水准面、参考椭球面
  16. 【Pytorch深度学习实战】(4)前馈神经网络(FNN)
  17. git报 “The stash entry is kept in case you need it again“ 错误解析
  18. 一群小朋友在玩老鹰捉小鸡
  19. 微信商户平台配置JSAPI支付目录,vue项目,好多坑呐
  20. mysql slave_pending_jobs_size_max_MySQL:关于Wating for Slave workers to free pending events等待...

热门文章

  1. 《老鹰抓小鸡》将代表中国动画电影走出国门,走向世界,yyds❤
  2. open函数里的newline
  3. 如何用ChatGPT做品牌联名方案策划?
  4. 红米9.0系统设备最完美激活XPOSED框架的教程
  5. 佛说,是我们自己苦了自己
  6. CSS设置背景铺满屏幕且不重复
  7. AI视频智能平台EasyCVR设备录像出现无法播放现象的问题修复
  8. docker 安装mysql8.0并且暴漏外部的连接
  9. mysql查询每个分组的最新数据
  10. 泛微E9升级KB包方法