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