如何监视来自WKWebView的http请求?

By simon at 2018-02-07 • 0人收藏 • 60人看过

所以,我觉得这个问题很明显。 [这个 问题(https://stackoverflow.com/questions/28766676/how-can-i-monitor- 请求s-on-wkwebview)是关于监视ajax请求的。我尝试过,但是 没有按照我的意愿工作。 我怎么能在我的本地调用一个函数e每次都有一个iOS Obj-C应用程序 请求被发送,接收和WKWebView中的浏览链接改变?

1 个回复 | 最后更新于 2018-02-07
2018-02-07   #1

好吧,我找到了一个方法。 你可以创建一个新的类(我们称之为MyURLProtocol) [NSURLProtocol](https://developer.apple.com/文档/基础/ nsurlprotocol) 作为子类。然后将此功能添加到

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [NSURLProtocol registerClass:[MyURLProtocol class]];
    return YES;
}
1:
+ (BOOL)canInitWithRequest:(NSURLRequest *)request {
    NSLog(@"URL = %@", request.URL.absoluteString);
    return NO;
}
这个功能会每次你的webview发出请求时都会调用它。接着 你需要在加载系统中注册这个协议。在你的 Appdelegate.m文件包括你的类和添加/替换didFinishLaunchingWithOptions功能 有了这个:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [NSURLProtocol registerClass:[MyURLProtocol class]];
    return YES;
}
可以了,好了。现在你可以编辑canInitWithRequest功能,做你想要的东西 请求。

登录后方可回帖

Loading...