1

我想转储一个org.apache.http.client.methods.HttpPost对象的完整内容,这样我就可以使用 curl 来调试这个对象有什么问题。有没有办法做到这一点?

谢谢。

4

1 回答 1

0

不太清楚您要做什么,但我想您想查看从 Java 发送到某个远程端点的内容。您可以拦截实际的 HTTP 请求,并且有相应的工具:

截获请求后,您将看到其原始形式,例如

POST /endpoint HTTP/1.1
Accept-Encoding: gzip
Accept: text/xml
Content-Type: text/xml; charset=utf-8
Content-Length: 342
Host: 127.0.0.1:8080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.2.1 (java 1.5)

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
/// etc

有了转储,您将能够使用 curl 重现请求并修改其中的某些部分以查看它们是否错误。

Fiddler2 很容易上手。TunnelliJ 更简单,但与 IDEA 相关联。Wireshark 是较低级别的,允许拦截任何流量,而不仅仅是 HTTP。但它需要一些技能才能使用它。

于 2012-10-05T15:02:40.163 回答