我正在尝试向https地址发送帖子请求并设置fiddler以返回标准响应。我在Fiddler中设置了两个规则,这个过程适用于Internet Explorer和Postman(但不是Chrome),即使我创建了一个可执行的jar文件并运行,我也无法从我试图编写的java应用程序中运行它从cmd。我一直在使用this example作为这项工作的基础。我有sendGet()工作(ish)但我无法让sendPost()工作获取java.net.UnknownHostException。
我认为问题可能是我没有将Fiddler作为Eclipse的代理。对于来自浏览器和邮递员的sendGet(),我根据需要获得了200_SimpleHTML.dat的内容,但是从eclipse开始,相同的规则没有任何影响,我从实际的URL获取内容(在这种情况下我们的TeamForge)
我的组织使用在IE中设置的代理,我已将java配置设置为“使用浏览器设置”,并尝试了“使用自动代理配置脚本”(指向proxy.pac文件),似乎都没有任何影响。我在窗口中有以下内容 - >偏好 - >网络连接:
但我不知道如何,或者即使我可以指向Fiddler作为代理。我没有从工作路线设置任何身份验证。
我的sendPost的当前状态如下:
USER_AGENT =“Mozilla / 5.0(Windows NT 6.1; WOW64; Trident / 7.0; rv:11.0),如Gecko”
是我在成功请求之后从Fiddler复制的。
private void sendPost() throws Exception
{
String url = "<Actual URL removed>";
URL obj = new URL(url);
HttpURLConnection http = (HttpURLConnection) obj.openConnection();
// add request header
http.setRequestMethod("POST");
http.setDoOutput(true);
http.setRequestProperty("User-Agent", USER_AGENT);
http.setRequestProperty("Accept-Language", "en-GB,en;q=0.5");
OutputStream out = http.getOutputStream();
int responseCode = http.getResponseCode();
System.out.println("\nSending 'POST' request to URL : " + url);
System.out.println("Response Code : " + responseCode);
BufferedReader in = new BufferedReader(new InputStreamReader(http.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null)
{
response.append(inputLine);
}
in.close();
// print result
System.out.println(response.toString());
}
有没有人对如何从我的Java应用程序中使用它有任何想法?