标题说明了一切。我想了解{strong>一切 WebView
所要求的内容。一些奇怪的限制,如不了解XHR POST是不可接受的。换句话说,类似于iOS的东西在NSURLProtocol
中。那个是应用程序范围的钩子。我不需要这种级别的控制,WebView
- 特定于实例的钩子就足够了。现在,我知道Android上没有任何类似的东西。我知道shouldOverrideUrlLoading
和shouldInterceptRequest
,但它基本上无法使用。我需要知道请求(方法,HTTP版本,标题,你知道),而不仅仅是URL字符串。此外,拦截是尴尬的同步。如果shouldInterceptRequest
呼叫被阻止,会发生什么情况,因为我需要向不同的服务器询问相关资源?在我看来,它只是为本地资源缓存而设计的。
另一方面,我愿意抛出任何问题。某种本土图书馆,挂入低层内部?借助现有项目(pwnall,mogoweb)扩展Chromium接口?反映现有的webkit类私有化?应用程序专用代理?任何见解都表示赞赏。我已经阅读了两十个现有的SO问题。他们都提出了部分黑客攻击(比如使用JavaScript解决XHR POST缺陷)或者通常都没有反应。
答案 0 :(得分:1)
尝试检查:
https://github.com/ac-pm/Inspeckage
它需要Xposed和root访问权限才能工作。我已经能够查看来自应用程序的WebView请求。我正在弄清楚如何使用Python的请求模块重新创建它们。
希望有帮助。
答案 1 :(得分:0)
如果我了解您的目标,请尝试:
WebView.setWebContentsDebuggingEnabled(true);
打开Chrome并转到网址 chrome:// inspect /#devices
有关详细信息:
https://developers.google.com/web/tools/chrome-devtools/remote-debugging
https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews