iOS-AFNetworking源码解析(五)
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源码解析(五)相关推荐
- cartographer 源码解析 (五)
相关链接: cartographer 源码解析(一) cartographer 源码解析(二) cartographer 源码解析(三) cartographer 源码解析(四) cartograph ...
- (Nacos源码解析五)Nacos服务事件变动源码解析
Nacos源码解析系列目录 Nacos 源码编译运行 (Nacos源码解析一)Nacos 注册实例源码解析 (Nacos源码解析二)Nacos 服务发现源码解析 (Nacos源码解析三)Nacos 心 ...
- iOS AFNetWorking源码详解(一)
来源:Yuzeyang 链接:http://zeeyang.com/2016/02/21/AFNetWorking-one/ 首先来介绍下AFNetWorking,官方介绍如下: AFNetworki ...
- Tomcat源码解析五:Tomcat请求处理过程
前面已经分析完了Tomcat的启动和关闭过程,本篇就来接着分析一下Tomcat中请求的处理过程. 在开始本文之前,咋们首先来看看一个Http请求处理的过程,一般情况下是浏览器发送http请求-> ...
- Spring源码解析(五)-Bean的实例化流程(上)
在前面已经完成了对需要实例化bean的收集并封装成BeanDefinition,并且将BeanPostProcess等组件进行了提前实例化.接下来就到了容器启动的最后一步,也是最复杂的一步-实例化be ...
- spring源码解析五
2019独角兽企业重金招聘Python工程师标准>>> 1.创建用于承载属性的BeanDefinition 这是一个接口,在spring中存在三种实现:RootBeanDefinit ...
- mybatis源码解析(五) --- typehandler注册和处理的查询结果对象的类型转换
上一次分析了mapper接口动态代理调用的处理过程,在查询结果后,然后转换的java所对应的类型,这篇文章将对这个类型转换处理详细介绍,在Configuration中TypeHandlerRegist ...
- iOS本地缓存方案之YYCache源码解析
iOS持久化方案有哪些? 简单列举一下,iOS的本地缓存方案有挺多,各有各的适用场景: NSUserDefault : 系统提供的最简便的key-value本地存储方案,适合比较轻量的数据存储,比如一 ...
- iOS 项目源码大全 github 国内外大神
github排名https://github.com/trending,github搜索:https://github.com/search 主要工作说明: 重新整理了Xcode好用的插件,信息更详细 ...
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
版权声明 请尊重原创作品.转载请保持文章完整性,并以超链接形式注明原始作者"tingsking18"和主站点地址,方便其他朋友提问和指正. QT源码解析(一) QT创建窗口程序.消 ...
最新文章
- SZUACM集训字符串基础总结: 字符串最小表示 ,KMP, EXKMP, Manracher, Trie树,字符串的hash; 附带一写常见的运用技巧,邝斌大佬的板子和例题[持续更新]
- 基础知识《二》java的基本类型
- 与uefi_UEFI + GPT 启动 VHD
- python工程师收入-Python工程师薪水居然这么高
- linux安装包安装mysql5.7
- RHEL5.4在线调整磁盘分区大小
- 每天一道CTF---bugku-----有趣的题(PHP语言特性)
- IOS仿微信键盘快捷工具栏
- JavaScript(三)数值类型
- onlyoffice毕升office
- FIX - 克隆虚拟机NAT模式网络不通、不稳定、vMnet8网络故障、网卡冲突、ssh连接慢
- Day.js 常用方法
- python不是有效的win32应用程序_python.exe不是有效的win32应用程序
- 网易计费系统架构升级之路
- 地理空间框架(二):大地水准面、似大地水准面、参考椭球面
- 【Pytorch深度学习实战】(4)前馈神经网络(FNN)
- git报 “The stash entry is kept in case you need it again“ 错误解析
- 一群小朋友在玩老鹰捉小鸡
- 微信商户平台配置JSAPI支付目录,vue项目,好多坑呐
- mysql slave_pending_jobs_size_max_MySQL:关于Wating for Slave workers to free pending events等待...
热门文章