iOS如何查看工程里添加的第三方静态库(.a或.framework)中发送的网络请求

来源:互联网 发布:qq飞车暗夜幽灵数据 编辑:程序博客网 时间:2024/06/16 02:39


既然能看到,肯定也可以修改、拦截。

说的就是ios中的一个黑魔法:NSURLProtocol。

这里只说最简单的查看请求头,请求体,请求链接。(header,body,url)


.h代码

#import <Foundation/Foundation.h>////声明一个URL协议,继承于NSURLProtocol//@interface MyConnectionURLProtocol : NSURLProtocol@end

.m代码

+ (BOOL)canInitWithRequest:(NSMutableURLRequest *)request {    NSLog(@"URL||||||||||   %@",request.URL);//    NSLog(@"HTTPBody  %@",[Base64 stringByEncodingData:request.HTTPBody] );//对body进行base64编码后输出    NSLog(@"HTTPBody  %@",[[NSString alloc ]initWithData:request.HTTPBody encoding:NSUTF8StringEncoding] );//把body转换成str后输出    NSLog(@"Header   %@",request.allHTTPHeaderFields);    return NO;}

使用方法:


1.在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中注册:

[NSURLProtocol registerClass:[MyConnectionURLProtocol class]];


2.然后运行代码,只要有网络请求,就会调用canInitWithRequest方法






阅读全文
0 0