douban/rexxar-ios

NSURLProtocol Post问题

Closed this issue · 5 comments

0.3.0 使用 WKWebView 替换 UIWebView, 由于 WKWebView 对 NSURLProtocol 支持不够友好,你需要特别关心一下 NSURLProtocol 截获 Post 请求时 Body 被清空的问题。

请问这个有解决的办法吗

对于 post 请求,可以用 get 请求发出。
比如使用 url = http://xxx.com/yy?method=get ,然后使用 decorator 截获这样的请求并创建一个新的 post 请求,取出 url query 中的参数放到 body 中。

不是说body会被清空吗?

对于 post 请求,可以用 get 请求发出。

Post 请求的 body 会清空, get 不会。

公司已有的H5全部都是post,这个不可能改为get的

暂时没有想到其他办法,这是 WKWebView 的内部机制。
如果你有更好的办法,可以提 pr 。