Я использую следующий код для запроса xml с веб-сервера:
HttpClient httpclient = new DefaultHttpClient()
try
{
HttpGet httpget = new HttpGet("http://63.255.173.242/get_public_tbl.cgi?A=1");
ResponseHandler responseHandler = new BasicResponseHandler();
String responseBody = httpclient.execute(httpget, responseHandler);
System.out.println(responseBody);
}
catch (ClientProtocolException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
httpclient.getConnectionManager().shutdown();
}
Я получаю исключение clientProtocolException, когда вызываю httpclient.execute(httpget, responseHandler). URL-адрес отлично работает в веб-браузере, он возвращает xml, и браузер отображает его.
Любые идеи, почему я должен получить clientProtocolException, и все же браузер отлично справляется с этим?
Редактировать 1:
Глядя на исключение протокола, подробное сообщение: «Серверу не удалось ответить действительным ответом HTTP». Я не могу изменить веб-сервер, на который я нажимаю. Есть ли способ игнорировать это и просто получить доступ к ответу?
Редактировать 2:
Я обнаружил, что сервер не отправляет полный заголовок. Есть ли способ получить доступ к содержимому ответа, даже если возвращается неработающий заголовок?
Редактировать 3: я отредактировал IP-адрес, чтобы он был реальным IP-адресом, который я нажимаю. Любая помощь приветствуется.