iOS真机调试时,不用Charles也能截获URL的方法!

  • 项目地址

搞iOS开发的同学们估计会经常遇到各种需要获取当前的url的需求,web页面需要查看url是否正确,server端需要验证下url参数,测试需要看下url的全链等等。

网上的大神们各种攻略,各种玩转Charles(青花瓷,一款代理软件,很好用也很强大,没用过的网上科普教程吧!),但是手机又要改代理又要换端口,如果仅仅是为了查看一下当前的url或者拉取数据的接口,这种操作在我看来就比较繁琐了,甚至有时候忘记关闭代理导致测试的App没有数据,还以为服务器挂掉了。

下面介绍下用NSURLProtocol截获url的方法来快速获得所需的url以及url包含的各种信息。

工具截图:

iOS真机调试时,不用Charles也能截获URL的方法!_第1张图片
![2.png](http://upload-images.jianshu.io/upload_images/2310905-ffdc564433bed04a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/330)

详见代码。

  • JHURLAnalyseProtocol是url截获工具关键类,继承自NSURLProtocol

  • JHURLAnalyseManager是管理类,其中包含了注册的一些公共方法。

  • 也包含了一些调试信息,debug output可以查看。

下面介绍下使用方法:

如果项目中第三方管理软件是用pod 管理可以直接在teminal中输入 pod search JHURLAnalyseTool集成。

注册方法如下,最好是在debug模式下注册,release包不需要展示工具页面

[NSURLProtocolregisterClass:[JHURLAnalyseProtocolclass]];[[JHURLAnalyseManagerdefaultManager]registerUrlAnalyse];

我目前使用的是CMMotionManager陀螺仪来加载工具页面,所以在真机调试时,晃动手机就会模态show出工具页面。

希望此工具能方便同学们的调试工作,喜欢的可以给个star!

你可能感兴趣的:(iOS真机调试时,不用Charles也能截获URL的方法!)