Hir*_*ter 21 java request httpurlconnection
我想用服务器对服务器进行一些API调用HttpURLConnection.但请求不成功,返回:
<error>
<http_status>400 Bad Request</http_status>
<message>Unexpected request Content-Type header ''. Expecting 'application/x-www-form-urlencoded'.</message>
</error>
Run Code Online (Sandbox Code Playgroud)
所以我想检查发送到服务器的"真实"内容是什么.通过真实内容我的意思是确切的HTTP请求.
我有什么想法可以看到这个吗?
编辑: 基于这里的第一个答案,我应该澄清我的问题:我想避免使用像HTTP嗅探器或任何东西的外部程序,我希望有一个功能或属性或任何包含我正在寻找的信息.
如果不是这样,有人知道是否可以手动重建此信息(例如通过调用getRequestMethod()等几个函数)
我经常遇到这个问题,所以我自己也要努力建立这样的功能.只需知道如何:)
Rea*_*wTo 14
您可以通过启用java.logging将HttpURLConnection置于调试模式
-Djava.util.logging.config.file=logging.properties
Run Code Online (Sandbox Code Playgroud)
并将logging.properties(默认情况下在JRE_HOME\lib中)放入以下属性
sun.net.www.protocol.http.HttpURLConnection.level = ALL
Run Code Online (Sandbox Code Playgroud)
tcpdump会起作用,但很难让它做你想做的事情.NetCat更加用户友好(这里是项目页面:http://netcat.sourceforge.net/ - 大多数Unix平台已经包含它).
nc -l 9999
Run Code Online (Sandbox Code Playgroud)
这将侦听TCP端口9999,当HTTP客户端连接时,它将打印出请求的全文.
| 归档时间: |
|
| 查看次数: |
19210 次 |
| 最近记录: |