【问题标题】:Exception on Mac only: Unexpected end of file from server仅 Mac 上的例外:来自服务器的文件意外结束
【发布时间】:2015-07-03 10:17:40
【问题描述】:

我正在使用 "org.apache.commons.io.FileUtils" 在 Windows 7 上成功下载以下代码中的 mp3 和图像文件:

FileUtils.copyURLToFile(new URL(urlString),myFile);

但是在 mac os x Yosemite 版本 10.10.2 (14C1514) 上,我在几次下载后得到了这个异常:

   java.net.SocketException: Unexpected end of file from server
    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:792)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:789)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1535)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)

我已尝试添加超时

FileUtils.copyURLToFile(new URL(url),myFile ,60000,60000);

甚至使用其他方法

URLConnection conn = new URL(url).openConnection();
InputStream is = conn.getInputStream();
OutputStream outstream = new FileOutputStream(myFile);
byte[] buffer = new byte[4096];
int len;
while ((len = is.read(buffer)) > 0) {
    outstream.write(buffer, 0, len);
}
outstream.close();

更新:

我尝试禁用 WiFi(以避免@john 提到的任何连接错误)并使用有线以太网,但在几次下载后仍然出现相同的错误,感谢任何帮助。

【问题讨论】:

  • 您确定您的 WiFi 在测试期间没有断开连接吗?最近我不得不升级我的 2011 Macbook Pro,因为有一个错误导致 WiFi 定期掉线。如果您正在下载大文件,则可能会发生这种情况。我会升级到10.10.3 并再次尝试测试。
  • 来自updateImproves Wi-Fi performance and connectivity in various usage scenarios
  • 我尝试使用有线连接(禁用 wifi)但仍然有同样的问题,感谢@john 很接近 :)

标签: java http url file-io fileutils


【解决方案1】:

这与 ISP 相关,问题已解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    相关资源
    最近更新 更多