如何启用或在Android上导入了HttpsURLConnection的流量日志? [关闭](H

2019-11-01 20:22发布

我需要能够登录(至少)报头和加密发送的消息(可选)体/接受了我的申请使用HttpsURLConnection的。 这应该是类似于此 。

有一个简单的方法来做到这一点(如设置一些标志来启用它)?

Answer 1:

复杂的工作解决方案

实现自定义的SSLSocketFactory和SSLSocket的子类,用类委托者从这里 。 委托扩展到在超类层次结构向上进行的方法查找。

你可以从下载演示项目这里 ,看看它是如何工作的。

简单的非工作的解决方案

SSL层实现包含自己的日志代码,使用org.apache.harmony.xnet.provider.jsse.Logger类。 它的读取距离,如果定义,可能包含的值conn_state,PRF,警报,ssocket,记录引擎和插座逗号分隔的列表JSSE系统属性参数的名称。

默认情况下,它定向输出到System.err的。

所以我重定向输出,以logcat的

$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start

但(我认为)失败它由Logger类之前初始化JSSE系统属性。 三个选项:亚行壳setprop设置,创建/data/local.prop与System.setProperty()在MainActivity类别的静态初始化设置,后来才选择成功(至少的getProperty()后,返回设定值)。

请让知道,如果用第二种方法成功了。



文章来源: How to enable or implement logging for HttpsURLConnection traffic on Android? [closed]