Need help with ZXRequestBlock?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

SmileZXLee
154 Stars 33 Forks MIT License 28 Commits 3 Opened issues

Description

基于NSURLProtocol一句话实现iOS应用底层所有网络请求拦截(含网页ajax请求拦截【不支持WKWebView】)、一句话实现防抓包(使Thor,Charles,Burp等代理抓包方式全部失效,且即使开启了代理,也不影响App内部的正常请求)。包含http-dns解决方法,有效防止DNS劫持。用于分析http,https请求等

Services available

!
?

Need anything else?

Contributors list

# 133,981
Objecti...
Shell
Ruby
navigat...
25 commits

ZXRequestBlock

License MIT  CocoaPods  CocoaPods  Support 

安装

通过CocoaPods安装

pod 'ZXRequestBlock'

手动导入

  • 将ZXRequestBlock拖入项目中。

导入头文件

#import "ZXRequestBlock.h"

注意

不支持WKWebView!!


使用方法

拦截全局请求

[ZXRequestBlock handleRequest:^NSURLRequest *(NSURLRequest *request) {
        //拦截回调在异步线程
        NSLog(@"拦截到请求-%@",request);
        dispatch_async(dispatch_get_main_queue(), ^{
            self.blockTv.text = [self.blockTv.text stringByAppendingString:[NSString stringWithFormat:@"拦截到请求--%@\n",request]];
        });
        //在这里可以将request赋值给可变的NSURLRequest,进行一些修改(例如根据request的url过滤单独对一些请求的请求体进行修改等)然后再return,达到修改request的目的。
        return request;
}];

防代理抓包

禁止网络代理抓包(开启后将无法通过网络代理抓包,通过Thor,Charles,Burp等均无法抓取此App的包,且在代理网络下App内部请求不受任何影响)

[ZXRequestBlock disableHttpProxy];

允许网络代理抓包【默认为允许】

[ZXRequestBlock enableHttpProxy];

注意


HTTPDNS

启用HTTPDNS(将会直接从本地或http://119.29.29.29 进行DNS解析,是一种避免DNS劫持的措施)

[ZXRequestBlock enableHttpDns];

关闭HTTPDNS【默认为关闭】

[ZXRequestBlock disableHttpDns];

禁止/恢复所有网络请求

禁止所有网络请求

[ZXRequestBlock cancelAllRequest];

恢复所有网络请求

[ZXRequestBlock resumeAllRequest];

防抓包Demo演示

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.