This question already has an answer here:
Android's HttpURLConnection throws EOFException on HEAD requests
(1个答案)
5年前关闭。
我有这段代码:
wich测试URL是否可访问。我用不同的URL多次调用了这段代码。但是,代码在此行给了我一个EOFException:
例外:
等等
有谁知道怎么回事,以及如何解决这个问题?
谢谢
谢谢
(1个答案)
5年前关闭。
我有这段代码:
public static boolean checkIfURLExists(String targetUrl) {
HttpURLConnection httpUrlConn;
System.setProperty("http.keepAlive", "false");
try {
httpUrlConn = (HttpURLConnection) new URL(targetUrl)
.openConnection();
httpUrlConn.setRequestMethod("HEAD");
// Set timeouts in milliseconds
httpUrlConn.setConnectTimeout(500);
httpUrlConn.setReadTimeout(1000);
// Print HTTP status code/message for your information.
return (httpUrlConn.getResponseCode() == HttpURLConnection.HTTP_OK);
} catch (Exception e) {
e.printStackTrace();
System.out.println("Removing the URL: " + targetUrl);
return false;
}
}
wich测试URL是否可访问。我用不同的URL多次调用了这段代码。但是,代码在此行给了我一个EOFException:
return (httpUrlConn.getResponseCode() == HttpURLConnection.HTTP_OK);
例外:
12-18 11:11:57.655: W/System.err(30198): java.io.EOFException
12-18 11:11:57.655: W/System.err(30198): at java.util.zip.GZIPInputStream.readFully(GZIPInputStream.java:206)
12-18 11:11:57.655: W/System.err(30198): at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:98)
12-18 11:11:57.665: W/System.err(30198): at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:81)
12-18 11:11:57.665: W/System.err(30198): at libcore.net.http.HttpEngine.initContentStream(HttpEngine.java:528)
12-18 11:11:57.665: W/System.err(30198): at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:836)
12-18 11:11:57.665: W/System.err(30198): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274)
12-18 11:11:57.665: W/System.err(30198): at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:486)
12-18 11:11:57.665: W/System.err(30198): at com.cofely.gdfsuez.XmlDataParseHelper.checkIfURLExists(XmlDataParseHelper.java:172)
等等
有谁知道怎么回事,以及如何解决这个问题?
谢谢
最佳答案
哦,我刚刚找到了答案,看来这是较新版本的android中的错误。添加此行对我有用:
httpUrlConn.setRequestProperty( "Accept-Encoding", "" );
谢谢
关于java - EOFException getResponseCode(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20655317/
10-11 00:11