1 它是一个类 ,继承这个类 就可以 重新定义 系统的 URL request ,response。
2 使用
(1)
@Interface BRURLProtocol :NSURLProtocol
@end
(2) 在程序启动的时候 进行注册:
[NSURLProtocol registerClass:[BRURLProtocol class]];
(3)重定向网络请求
+ (NSURLRequest *) canonicalRequestForRequest:(NSURLRequest *)request
+(NSMutableURLRequest*)redirectHostInRequset:(NSMutableURLRequest*)request
(4)判断两个request是否相同,使用本地缓存
+ (BOOL)requestIsCacheEquivalent:(NSURLRequest *)a toRequest:(NSURLRequest *)b
(5)处理返回结果
NSURLConnectionDataDelegate方法
(6)开始和取消相应的request
- (void)startLoading
- (void)stopLoading
网上看到的别人的demo :https://github.com/bravegogo/NSURLProtocolExample