我用过雅加达公共 HttpClient在另一个项目中,我也想要同样的电线记录输出但使用“标准”HttpUrlConnection。
我用过Fiddler作为代理,但我想直接从 java 记录流量。
捕获连接输入和输出流的内容是不够的,因为 HTTP 标头是由 HttpUrlConnection 类写入和使用的,因此我将无法记录标头。
根据Sun 的 HttpURLConnection 源有一些日志支持通过JUL.
设置(根据需要调整路径):
-Djava.util.logging.config.file=/full/path/to/logging.properties
日志记录.属性:
handlers= java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = FINEST
sun.net.www.protocol.http.HttpURLConnection.level=ALL
这将记录到控制台,根据需要进行调整,例如记录到文件。
输出示例:
2010-08-07 00:00:31 sun.net.www.protocol.http.HttpURLConnection writeRequests
FIN: sun.net.www.MessageHeader@16caf435 pairs: {GET /howto.html HTTP/1.1: null}{User-Agent: Java/1.6.0_20}{Host: www.rgagnon.com}{Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2}{Connection: keep-alive}
2010-08-07 00:00:31 sun.net.www.protocol.http.HttpURLConnection getInputStream
FIN: sun.net.www.MessageHeader@5ac0728 pairs: {null: HTTP/1.1 200 OK}{Date: Sat, 07 Aug 2010 04:00:33 GMT}{Server: Apache}{Accept-Ranges: bytes}{Content-Length: 17912}{Keep-Alive: timeout=5, max=64}{Connection: Keep-Alive}{Content-Type: text/html}
请注意,这仅打印标题而不打印正文。
See http://www.rgagnon.com/javadetails/java-debug-HttpURLConnection-problem.html了解详情。
还有系统属性-Djavax.net.debug=all
。但主要是对于 SSL 调试很有用.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)