美文网首页
iOS URL结构分析及注意事项

iOS URL结构分析及注意事项

作者: nuannuan_nuan | 来源:发表于2016-01-28 20:38 被阅读203次

本文参考:IOS网络编请求响应之URL结构

本文不仅针对URL结构进行了分析,而且对于对于url的一些编码的注意事项也给出了解决方法;

在url规范中:":/?#[]@!¥&’()*+,;="等符号都是有特殊含义的,如果我们在进行get请求时,请求的参数中包含了这些特殊字符就会引起冲突,解决方法就是讲这些特殊的字符转换为“%+ASCII”形式,iOS中的CFURLCreateStringByAddingPercentEscapes函数就可以处理这个问题

参考连接:URL 编码:CFURLCreateStringByAddingPercentEscapes

扩展连接:

对于iOS网络请求相关的了解可以参考下面相关连接:
IOS项目开发之网络编程 - 随笔分类 - 人魔七七 - 博客园

######2017年12月更

对于url的encode,iOS提供了两个API:

API1:-(nullableNSString*)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encde(iOS9已废弃)

API2:-(nullableNSString*)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet*)allowedCharacters

API1中会对url中除了保留字外的其他字符都进行%+ASICC编码,比如

https://www.xingshulin@xixing.com#mark?p1=hello world&p2=我是参数2&p3=query3

上面用API1编码后输出:https://www.xingshulin@xixing.com%23mark?p1=hello%20world&p2=%E6%88%91%E6%98%AF%E5%8F%82%E6%95%B02&p3=query3

用API2,如果使用URLQueryAllowedCharacterSet进行编码是一样的,但如果使用URLHostAllowedCharacterSet编码会输出:

https%3A%2F%2Fwww.xingshulin%40xixing.com%23mark%3Fp1=hello%20world&p2=%E6%88%91%E6%98%AF%E5%8F%82%E6%95%B02&p3=query3

可见,API2比API1的功能更强大。API2针对除了www.xingshulin之外的其他特俗字符都进行了编码。

如果有时候我们不需要对某些特殊字符进行编码,比如上面的#mark,mark前的“#”,那么用API2也可以实现,通过customAllowedSet =  NSCharacterSet(charactersInString:"`%^{}\"[]|\\<> ").invertedSet,自定义characterSet可以实现。上面就保证了,会保留"`%^{}\"[]|\\<> "之外的特俗字符“#”,输出如下:www.xingshulin@xixing.com#mark?p1=hello%20world&p2=%E6%88%91%E6%98%AF%E5%8F%82%E6%95%B02&p3=query3

参考:blog.csdn.net/andanlan/article/details/53368727

相关文章

  • iOS URL结构分析及注意事项

    本文参考:IOS网络编请求响应之URL结构 本文不仅针对URL结构进行了分析,而且对于对于url的一些编码的注意事...

  • 2020-01-14

    JS请求跨域问题及URL的结构分析 1.URL结构分析 以下面地址为例: http://www.aespxfa...

  • iOS Crash从捕获到符号化解析分析

    目的 探索iOS Crash分类及捕获流程 了解Crash文件结构及段含义 了解Mach-o文件结构 分析Cras...

  • URL结构分析

    本文摘自:URL结构分析 概要:以该例来分析url结构 http://bh-lay.com:3000/admin?...

  • URL 结构

    URL结构分析 概要:以该例来分析url结构http://bh-lay.com:3000/admin?act-ed...

  • iOS UIWebView原生与网页交互常用知识点

    iOS WebView使用POST方式加载URL及传参iOS WebView打开URL时会对地址自动进行URL 前...

  • 模板中使用请求参数

    分析请求URL 引入 url模块 使用url.parse(req.url) 将请求url解析成类似以下结构数据: ...

  • iOS - URL Scheme

    一、关于 URL 在 iOS 中的结构 [Scheme]://[Host]/[Path]?[Query] 例如: ...

  • 爬取Paper网页漏洞分析报告

    网页结构分析: 分析页面的跳转URL连接和各篇文章对应的URL连接在HTML文件中所处的结构,以便运用正则表达式将...

  • URL 属性详解

    一般url格式 完整url 结构图 demo详解code 地址 参考资料: [iOS-Foundation] NSURL

网友评论

      本文标题:iOS URL结构分析及注意事项

      本文链接:https://www.haomeiwen.com/subject/lddjkttx.html