iOS如何查看工程里添加的第三方静态库(.a或.framework)中发送的网络请求
2017-06-15 15:45
381 查看
既然能看到,肯定也可以修改、拦截。
说的就是ios中的一个黑魔法:NSURLProtocol。
这里只说最简单的查看请求头,请求体,请求链接。(header,body,url)
.h代码
.m代码
使用方法:
1.在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中注册:
[NSURLProtocol registerClass:[MyConnectionURLProtocol class]];
2.然后运行代码,只要有网络请求,就会调用canInitWithRequest方法
说的就是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方法
相关文章推荐
- iOS如何在工程中使用第三方(网络)图片
- iOS:如何在发送网络请求时之前进行网络判断
- 旧工程适配iOS 6和iPhone 5之第三方静态库
- 旧工程适配iOS 6和iPhone 5之第三方静态库(file is universal (3 slices) but does not contain a(n) armv7s )
- ios如何在当前工程中导入另一个工程文件(添加编辑新建的FramesWork)
- iOS网络请求总结、GET、POST、同步、异步代码块、异步代理、第三方AFNetWorking2.0使用
- 用Fiddler查看 Android/iOS 网络请求
- IOS在Xcode 4.x以上如何添加静态库
- iOS经验1:自己写的网络数据请求 第三方框架 断点续传 上传下载
- 在IOS工程中如何添加SQLite的libsqlite3.dylib
- iOS网络请求第三方框架:MKNetworkKit介绍及简单使用
- 查看ios网络http请求响应
- 如何在xcode中为当前的工程添加新的frameWork
- 旧工程适配iOS 6和iPhone 5之第三方静态库
- 旧工程适配iOS 6和iPhone 5之第三方静态库(file is universal (3 slices) but does not contain a(n) armv7s )
- IOS在Xcode 4.x以上如何添加静态库
- 如何在IOS开发中在自己的framework中添加.bunble文件
- iOS网络基础--发送同步、异步请求
- IOS网络篇7之基于第三方CocoaAsyncSocket实现Socket通信(发送图片以及类似http头信息)
- IOS发送网络请求 心得