NSURLSessionConfiguration 方式
URLSession 可以设置 configuration , NSURLSessionConfiguration 有设置代理的方法,代码如下
1 | NSURLSessionConfiguration *conf = [NSURLSessionConfiguration defaultSessionConfiguration]; |
NSURLProtocol
推荐使用苹果官方的demo CustomHTTPProtocol
需要注意的请求的过滤条件和转发规则,具体原理后面的链接有提供。
WKWebView
由于没有用到 WKWebView ,不做过多介绍了,网上有很多教程
NetworkExtension
需要单独申请权限,并且比较重,不建议使用。不过用起来还是很爽的,多看文档。
Ubuntu 搭建代理服务器
搭建一个测试环境
主要是用的是一个 squid 服务
需要注意在设置账号密码的时候,在配置文件中一定要确认好认证账号文件的路径
测试 命令 使用curl 测试代理联通性
1 | curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url |
具体搭建过程,下方参考中有
参考
- https://www.cnblogs.com/ZhangShengjie/p/12188377.html
- https://zhuanlan.zhihu.com/p/22043351
- http://www.cocoachina.com/articles/10765
- https://nemocdz.github.io/post/ios-设置代理proxy方案总结/
- https://nshipster.cn/nsurlprotocol/
- https://draveness.me/intercept/
- https://www.cnblogs.com/ssgeek/p/12302135.html
- http://cn.linux.vbird.org/linux_server/0420squid.php
- https://www.cnblogs.com/blxt/p/14501176.html