次のコードを使用して、Webサーバーから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();
}
httpclient.execute(httpget、responseHandler)を呼び出すと、clientProtocolExceptionが発生します。URLはWebブラウザーで問題なく機能し、xmlを返し、ブラウザーに表示されます。
clientProtocolExceptionが発生するのに、ブラウザーがそれを正常に処理する理由はありますか?
編集1:
プロトコル例外を見ると、詳細メッセージは「サーバーは有効なHTTP応答で応答できませんでした」です。ヒットしているWebサーバーを変更できません。これを無視して応答にアクセスする方法はありますか?
編集2:
サーバーが完全なヘッダーを返送していないことがわかりました。壊れたヘッダーが返された場合でも、応答の内容にアクセスする方法はありますか?
編集3:IPアドレスを編集して、ヒットしている実際のIPアドレスにしました。どんな助けでも大歓迎です。