为什么HttpURLConnection.getResponseCode()返回1?

时间:2010-09-10 12:55:43

标签: java http url httpresponse httpurlconnection

我有一段Java代码打开HTTP连接,在其上写入数据然后检索响应代码。因为,连接很好,它应该得到HTTP_OK(即200),但它得到1回报。

这令人困惑,因为在Http Response代码规范中没有出现1。任何人都可以就潜在的问题区域提出一些想法吗?

以下是一段代码:

URL tempURL = new URL("http://www.google.com");

obj_URLHttpConnectionServlet = (HttpURLConnection)tempURL.openConnection();
obj_URLHttpConnectionServlet.setDoInput(true);
obj_URLHttpConnectionServlet.setDoOutput(true);

OutputStream obj_OutputStream = obj_URLHttpConnectionServlet.getOutputStream();

obj_OutputStream.write(sConfigurationData.getBytes());
obj_OutputStream.flush();
obj_OutputStream.close();
obj_OutputStream = null;

int iResponseCode = obj_URLHttpConnectionServlet.getResponseCode();
System.out.println("Response code received is : " + iResponseCode);

输出

收到的回复代码是:1

1 个答案:

答案 0 :(得分:0)

因为服务器端已将其设置为1。如果这是您的控制,那么检查/修复负责该代码的代码。如果这不在您的控制之下,请报告/联系网站管理员。


更新:根据评论,Fiddler确认服务器端已将响应标头的第一行设置为HTTP/200 1。这很奇怪。它看起来应该更像HTTP/1.1 200。空格之前的部分应指示协议/版本,空格之后的部分应指示响应代码。这看起来越来越成为服务器端问题。我会联系网站管理员。