我正在执行以下代码,并且总是在 urlConnection.getInputStream() 中获得 EOFException。我知道网络服务器没有返回正确的标头,但是如果我在网络浏览器中使用相同的 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();