Fiddler没有从Java应用程序捕获HTTP请求

时间:2012-03-08 16:01:04

标签: java netbeans http-post fiddler

我目前正在编写一个使用HTTP POST将csv文件和一些其他参数上传到服务器的java应用程序。服务器不断向我的应用程序返回500个错误,我想查看Fiddler中的HTTP请求,以便我可以看到POST请求。
当我运行Fiddler时,它不会捕获来自Java应用程序的任何HTTP流量。我写了一个有效的GET请求,所以我知道我可以与服务器通信,但是没有通过Fiddler显示流量。

3 个答案:

答案 0 :(得分:20)

您可以通过设置属性

,将Fiddler设置为应用程序的HTTP代理 对于HTTP流量,

http.proxyHost localhost http.proxyPort 8888 HTTPS流量的https.proxyHost / https.proxyPort。 对于HTTPS流量,您还必须将Fiddler根证书(可在选项对话框中导出)作为可信证书添加到您的应用程序中。

您可以在代码的开头添加以下行

System.setProperty("http.proxyHost", "localhost");
System.setProperty("http.proxyPort", "8888");

或在启动Java-VM时通过命令行设置它们:

java -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 ...

答案 1 :(得分:2)

使用Jetty HTTP客户端,以前的解决方案不起作用。 然而,以下工作:

HttpClient httpClient = new HttpClient();
httpClient.setProxy(new Address("127.0.0.1", 8888));
httpClient.start();

答案 2 :(得分:0)

与EasyRestClient一起使用:

ClientBuilder builder = new ResteasyClientBuilder().defaultProxy("localhost", 8888, "http");