我在Java写了一些简单的代码,该方法应该连接到网站并返回BufferedReader。
private BufferedReader getConnection(String url_a) {
URL url;
try {
System.out.println("getting connection");
url = new URL(url_a);
HttpURLConnection urlConnection = (HttpURLConnection)
url.openConnection();
urlConnection.addRequestProperty("User-Agent",
"Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.3) Gecko/20040924"
+ "Epiphany/1.4.4 (Ubuntu)");
inStream = new InputStreamReader(urlConnection.getInputStream());
return new BufferedReader(inStream);
} catch (Exception ex) {
Logger.getLogger(Reader.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
当我在我的PC上使用它时,它可以正常工作,但当我将. jar文件放在服务器上时,我会收到这个错误:
java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:718)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:715)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1322)
at dataconverter.Reader.getConnection(Reader.java.260)
问题很奇怪,因为每次都不会抛出异常,有时一切都很好,程序工作正常。
有人有什么想法吗?
当我没有设置身份验证标头或设置了错误的凭据时,确实会出现此错误。
当您期待响应,但套接字突然关闭时,会遇到此异常。
在这里可以找到Java的HTTPClient
,它在非常特定的情况下抛出一个带有消息“来自服务器的文件意外结束”的SocketException
。
发出请求后,HTTPClient
获取一个绑定到与请求相关联的套接字的InputStream
。然后,它反复轮询InputStream
,直到:
在数字2的情况下,如果以下任何一项为真,HTTPClient
将抛出此SocketException
:
CONNECT
POST
,客户端设置为流模式这表示在服务器能够发送响应之前,TCP套接字已经关闭。这种情况的发生可能有多种原因,但也有一些可能性:
注意:当Nginx重新加载其配置时,它会强制关闭任何正在运行的HTTP Keep-Alive连接(甚至POST),从而导致此确切错误。
“文件意外结束”意味着远程服务器接受并关闭了连接而没有发送响应。可能是远程系统太忙而无法处理请求,或者存在随机丢弃连接的网络错误。
服务器中也可能存在错误:请求中的某些内容会导致内部错误,服务器只是关闭连接,而不是像应该的那样发送HTTP错误响应。一些人认为这是由于请求中缺少标题或标题值无效造成的。
有了可用的信息,就不可能说出了什么问题。如果您可以访问有问题的服务器,您可以使用数据包嗅探工具来查找发送和接收的确切内容,并查看服务器进程的日志以查看是否有任何错误消息。
当我通过SOAPUI运行WS时,我会间歇性地遇到以下错误。有时它不工作,然后它继续工作,然后又有时它不工作。另一个问题是,客户机提供的测试web服务运行良好,没有任何问题,但当我们切换到生产服务时,它会给出问题。谷歌搜索并做了一些更改(HttpConfig上的超时,jetty maxIdleTime),但仍然无法使其工作:(有没有办法缩小问题的范围? 只需添加使用SOAPUI与生产endpoint
我在从jersey客户endpoint击rest服务时出现以下错误 javax。ws。rs.ProcessingException:java。网SocketException:来自 org服务器的文件意外结束。玻璃鱼。运动衫客户HttpUrlConnector。在 org上应用(HttpUrlConnector.java:229)。玻璃鱼。运动衫客户ClientRuntime。在 org上调用(C
我试图用套接字创建SSLSocket,但出现了这个异常 例外:java。网SocketException:来自SOCKS服务器的错误回复 谢谢你帮了大忙
在使用来自CSV的5k输入执行脚本后,jmeter日志显示以下错误: JAVA网SocketException:“来自服务器的文件意外结束” 似乎服务器端设置了连接超时。 消除这个错误的可能解决方案是什么?
我有下面的代码,我不断得到一个错误 我得到的错误如下 你知道这个错误的原因吗?
我试图在java web start应用程序中使用Apache FTPCleint连接到FTP服务器。下面是我正在使用的代码。 问题出现在第