Einfacher Java-Code: java.net.SocketException: Unerwartetes Dateiende vom Server
Ich habe einen einfachen Code in Java geschrieben. Die Methode sollte eine Verbindung zur Website herstellen und den BufferedReader zurückgeben.
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;
}
Wenn ich es auf meinem PC verwende, funktioniert es einwandfrei, aber wenn ich die .jar-Datei auf den Server lege, erhalte ich folgende Fehlermeldung:
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)
Das Problem ist ziemlich seltsam, weil die Ausnahme nicht jedes Mal ausgelöst wird, manchmal ist alles in Ordnung und das Programm funktioniert einwandfrei.
Hat jemand irgendwelche Ideen?