Java:发送前显示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>
因此,我想检查发送到服务器的“真实”内容是什么。实际内容是指确切的HTTP请求。
有什么想法可以看到吗?
编辑:
根据此处的第一个答案,我应该澄清我的问题:我想避免使用外部程序(例如HTTP嗅探器)或其他任何东西,而我希望有一个函数或一个属性或任何包含我要查找的信息的东西。
如果不是这种情况,有人知道该信息是否可以手动重建(例如,通过调用诸如getRequestMethod()等几个函数)。
我经常会遇到这个问题,因此值得自己构建这种功能。只需要知道如何:)
问题答案:
您可以通过启用java.logging将HttpURLConnection置于调试模式
-Djava.util.logging.config.file=logging.properties
并将以下属性放入logging.properties(默认情况下在JRE_HOME \ lib中)
sun.net.www.protocol.http.HttpURLConnection.level = ALL