Почему HttpURLConnection.getResponseCode () возвращает 1? - PullRequest
0 голосов
/ 10 сентября 2010

У меня есть фрагмент кода Java, который открывает HTTP-соединение, записывает в него данные и затем получает код ответа. Так как с подключением все в порядке, он должен получить HTTP_OK (т.е. 200), но он получает 1 в ответ.

Это сбивает с толку, поскольку 1 не появляется нигде в спецификации кода ответа Http. Может ли кто-нибудь бросить некоторые идеи о потенциальной проблемной области?

Ниже приведен фрагмент кода:

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 голосов
/ 10 сентября 2010

Поскольку на стороне сервера установлено значение 1.Если это под вашим контролем, то проверьте / исправьте код, ответственный за это.Если это не под вашим контролем, сообщите / свяжитесь с администратором сайта.


Обновление : согласно комментариям, Fiddler подтвердил, что на стороне сервера установленопервая строка заголовка ответа до HTTP/200 1.Это странно.Это должно выглядеть больше как HTTP/1.1 200.Часть перед пробелом должна указывать протокол / версию, а часть после пробела должна указывать код ответа.Это выглядит все больше и больше проблем на стороне сервера.Я бы связался с администратором сайта.

...