ChenYilong / iOSBlog

微博@iOS程序犭袁 的blog
MIT License
1.12k stars 190 forks source link

关于《iOS防DNS污染方案调研---SNI业务场景》的疑问 #19

Open Nododo opened 6 years ago

Nododo commented 6 years ago

Hi, ChenYilong! 在标题包含的文中我读到“使用 NSURLProtocol 拦截 NSURLSession 请求丢失 body”,但我实践中使用NSURLConnection 通过post请求 NSURLProtocol 也会拦截,所以这段话是不是有歧义,或者劳烦解释下。

FlyingRadish commented 6 years ago

这里没有歧义。NSURLProtocol可以拦截method为POST的请求,但是请求的body被忽略掉了,需要通过其他方式才可以得到

Nododo commented 6 years ago

@houxg 你联系上下文:

目中使用 NSURLProtocol 拦截 NSURLSession 请求,下面将支持 Post 请求中面临的一个挑战,以及应对策略介绍一下:

在支持POST请求过程中会遇到丢失

body的 问题,有以下几种解决方法:

方案如下:

换用 NSURLConnection

如果按你的说法,这么写也是有歧义的

SevenSecondMemoryFish commented 5 years ago

Hi, ChenYilong! 使用NSURLProtocol 拦截post请求,并使用了HTTPBodyStream来获取body信息,现在遇到的情况是HTTPBodyStream也是nil,不知您是如何解决body是nil的问题?