次のコードを実行していますが、urlConnection.getInputStream() で常に EOFException が発生します。Web サーバーが適切なヘッダーを返していないことはわかっていますが、Web ブラウザーで同じ URL を使用すると、期待されるコンテンツが返されます。
URL url1;
try
{
url1 = new URL("http://63.255.173.242/get_public_tbl.cgi?A=1");
HttpURLConnection urlConnection = (HttpURLConnection) url1.openConnection();
try
{
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
readStream(in);
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
urlConnection.disconnect();
}
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
何か案は?
編集1:
私は可能な解決策に取り組んでいると思いました。Android 2.3 を使用すると、(ヘッダーがなくても) getHeaderFields() を呼び出すことで応答を読み取ることができますが、Android 4.1 を使用すると getHeaderFields() は null を返します。何か案は?
url1 = new URL("http://63.255.173.242/get_public_tbl.cgi?A=1");
URLConnection urlConnection = url1.openConnection();
Map<String, List<String>> fields = urlConnection.getHeaderFields();