我想知道是否可以通过隧道传输 Web 请求,当然还有使用/实现什么。
我已经编写了NSInputStream和NSOutputStream的子类来通过我的自定义代理服务器发送和接收数据,这对于套接字连接非常有效。
我试图实现UIWebView和NSURLRequest的代表,但我无法捕获从UIWebView发出的所有 HTTP 请求。
先感谢您。
我想知道是否可以通过隧道传输 Web 请求,当然还有使用/实现什么。
我已经编写了NSInputStream和NSOutputStream的子类来通过我的自定义代理服务器发送和接收数据,这对于套接字连接非常有效。
我试图实现UIWebView和NSURLRequest的代表,但我无法捕获从UIWebView发出的所有 HTTP 请求。
先感谢您。
您可以尝试使用 category 来捕获所有相关的方法调用(下面的模板)。但是要小心龙,并确保在执行此操作之前考虑使用系统代理路由。
UIWebView+PrivateProxy.h
@interface UIWebView (PrivateProxy)
- (void)loadRequest:(NSURLRequest *)request;
@end
UIWebView+PrivateProxy.m
@implementation UIWebView (PrivateProxy)
- (void)loadRequest:(NSURLRequest *)request {
if(request.something ....) {
// handle yourself ...
} else {
[super loadRequest:request]; // use stanadrd implementation
}
}
@end
当然,您可能必须覆盖更多方法,例如重新加载、停止加载等。