it-swarm.com.de

java.io.IOException: Der Server hat den HTTP-Antwortcode zurückgegeben: 500

Ich stehe vor diesem Problem mit Java. Ich möchte einige HTML-Informationen von einer URL erhalten. Dieser Code funktionierte so lange, aber plötzlich hörte er auf zu funktionieren.

Wenn ich mit dem Browser auf diese URL zugreife, wird sie problemlos geöffnet.

Der Code:

URL site = new URL(this.url);
Java.net.URLConnection yc = site.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
String inputLine;
String objetivo = "<td height=\"28\" colspan=\"2\"";
while ((inputLine = in.readLine()) != null && !inputLine.contains(objetivo)) {
}
inputLine = in.readLine();

Die Ausnahme:

Java.io.IOException: Server returned HTTP response code: 500 for URL: http://www.myurl.com
    at Sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at Sites.websites.Site1.getData(Site1.Java:53)
    at util.Util.lerArquivo(Util.Java:278)
    at util.Util.main(Util.Java:983)

Was ist falsch? Hat der Gastgeber mich blockiert?

12
rlc

HTTP-Statuscode 500 bedeutet normalerweise, dass der Webserver-Code abgestürzt ist. Sie müssen den Statuscode vorher mit HttpURLConnection#getResponseCode() ermitteln und bei Fehlern lesen Sie stattdessen HttpURLConnection#getErrorStream() . Es kann nämlich Informationen über das Problem enthalten.

Wenn der Host Sie blockiert hat, hätten Sie lieber einen 4nn-Statuscode wie 401 oder 403 erhalten.

Siehe auch:

24
BalusC

Dieser Statuscode 500 ist ein interner Serverfehler. Dieser Code zeigt an, dass ein Teil des Servers (beispielsweise ein CGI-Programm) abgestürzt ist oder ein Konfigurationsfehler aufgetreten ist.

ich denke, das Problem liegt nicht auf Ihrer Seite, sondern eher auf der Seite des HTTP-Servers ... Die Ressourcen, auf die Sie zugegriffen haben, wurden möglicherweise verschoben oder beschädigt, oder ihre Konfiguration wurde möglicherweise geändert oder beschädigt

3
arthur

Ich hatte dieses Problem, d. Es waren einfach die Leerzeichen, die entkommen/codiert werden mussten.

0
GarethReid

Das Problem muss bei den Parametern liegen, die Sie übergeben (Sie müssen leere Parameter übergeben). Zum Beispiel: http://www.myurl.com?id=5&name= Prüfen Sie, ob Sie dies auf dem Server erledigen, den Sie anrufen.

0
Prem

Ich bin auf das gleiche Problem gestoßen und habe die Lösung gefunden.

Sie können in der ersten Serverantwort nachsehen, ob Ihnen vom Server ein Cookie gesendet wurde.

Um zu prüfen, ob Ihnen vom Server ein Cookie gesendet wurde, können Sie HttpURLConnection # getHeaderFields () verwenden und nach Headern mit dem Namen "Set-Cookie" suchen.

Falls vorhanden, hier ist die Lösung für Ihr Problem. 100% Für diesen Fall arbeiten!

+1 wenn es für dich funktioniert hat.

0
AMIL.Y