Java 在HttpURLConnection上获取HTTP 415错误
我使用以下代码发送GET请求,然后接收响应:Java 在HttpURLConnection上获取HTTP 415错误,java,httpurlconnection,http-status-code-415,Java,Httpurlconnection,Http Status Code 415,我使用以下代码发送GET请求,然后接收响应: try { URL url = new URL(strurl); HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("GET"); con.setDoOutput(true); con.connect(); BufferedReader is = new BufferedRe
try {
URL url = new URL(strurl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setDoOutput(true);
con.connect();
BufferedReader is = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line;
String vAnswerStr="";
String lineSeparator = System.getProperty("line.separator");
while ((line = is.readLine()) != null) {
vAnswerStr = vAnswerStr + line + lineSeparator;
}
is.close();
} catch (IOException ex) {
ex.printStackTrace();
}
strurl
是这样的smth,尽管我不认为它的格式可能与问题有关:
预期输出为xml,smth如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<tag1>00000</tag1>
<tag2>0</tag2>
...
</response>
00000
0
...
10次尝试中有5次成功
其他5次尝试返回:
java.io.IOException:服务器返回了URL的HTTP响应代码:415:
在
net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1615)
在
net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
我已经读了好几篇关于HTTP 415错误的文章。但他们似乎没有帮助。我尝试过不同的请求属性,但要么找不到,要么不是这样
IDE是NetBeans 7.0
谁能告诉我解决这个问题的正确方向吗
编辑
忘了说当从浏览器执行相同的请求时,它在100%的尝试中工作。您应该检查以下几点:
Expect
标题的用途是什么?似乎不是一个标准的http请求头,顺便说一句,内容类型是一个响应头,在请求头列表中使用它有什么原因吗?@Vikdor正在试验…之前发现一些帖子建议这样做..编辑了问题,删除了不正确的头在问题最后出现在服务器上。尽管提供商拒绝解释其本质,我们与之通信的服务器,但在我们的java应用程序中没有什么可做的。因此,我从这篇文章中得到的最接近的想法是你的观点1。无论如何,谢谢!我也有同样的错误(415),我想补充第四点,以防一些沮丧的程序员偶然发现这篇文章:(4)检查服务器的“web.xml”文件。您可能已经添加了JSON/xml功能库(例如Jackson),但忘记设置依赖项。这也可能导致415错误。