Android WebView如何像抓包那样可以拦截该页面的所有请求返回的response信息? 5C

项目中有个需求是在Android端用webview打开一个页面,该如何像抓包那样获取到该页面向后台发送请求时的response信息,我知道在PC浏览器按F12可以看到所有的信息,里面可以看到请求的headers和response等等信息,在webview.setWebViewClient里有一个回调函数public void onLoadResource(WebView view, String url),这个回调时是该页面每此有新的请求需要更新当前界面时调用的,里面的参数url就是当前的请求,我尝试用这个url调用自己的请求方法试图获取response时拿到的数据包已经和实时获取的数据包不一样了,我估计是因为在触发这个回调时请求已经发送成功并且收到了返回值,由于请求里带有sid之类的标识,我再拿同样的请求来取数据是拿到的无效的数据,那要怎么像抓包一样拦截该页面的所有HTTP请求返回的信息呢?求大神 急急急!!!

2个回答

shouldInterceptRequest()方法中获取到对应的url请求,然后调用自己项目中第三方框架,去加载这个url,如果要设置Cookie,通过webview获取Cookie设置到请求中,一般情况下都能获取到response信息。

要获取你所需要的信息,要取得原始的类java.net.HttpURLConnection对象才行

baidu_20792589
小剑温暖 可是不是我主动请求的URL啊,是网页自动给后台发的请求,这怎么取得到,除非能截取到经过网卡的所有包再过滤
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问