我希望捕获 AJAX 发布请求,并且我已阅读此线程: UIWebViewDelegate not monitoring XMLHttpRequest? >
但是我希望有一些方法可以使用 Obj c 来实现这一点,而无需通过 javascript。我已经有一个 UIWebView 设置及其代表。但既然这没有捕获 XMLHttpRequest,我应该实现什么来实现这一点以及在哪里实现?谢谢你。
我希望捕获 AJAX 发布请求,并且我已阅读此线程: UIWebViewDelegate not monitoring XMLHttpRequest? >
但是我希望有一些方法可以使用 Obj c 来实现这一点,而无需通过 javascript。我已经有一个 UIWebView 设置及其代表。但既然这没有捕获 XMLHttpRequest,我应该实现什么来实现这一点以及在哪里实现?谢谢你。
看看 NSURLProtocol - 这应该使您能够拦截请求。
基本上你会 - 创建你自己的从 NSURLProtocol 派生的类,并在 applicationDidFinishLaunchingWithOptions 中注册它:使用 NSURLProtocol:registerclass:
连接将调用 initWithRequest:cachedResponse:client: 然后 startLoading。
您将使用 URLProtocol:didReceiveResponse:cacheStoragePolicy: 回调连接,对 URLProtocol:didLoadData: 的一些调用,最后是 URLProtocolDidFinishLoading:
一旦你拦截了电话,你就可以允许他们继续,窃听他们,阻止他们继续前进,等等。