java.io.IOException: le serveur a renvoyé le code de réponse HTTP: 500
Je suis confronté à ce problème avec Java. Je veux obtenir le code HTML des informations à partir d'une URL. Ce code a été de travailler, mais tout à coup, il a cessé de travailler.
Quand je accéder à cette URL à l'aide du navigateur, il s'ouvre sans problème.
Le 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();
L'Exception:
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)
Quel est le problème? A l'hôte me bloquer?
source d'informationauteur rlc
Vous devez vous connecter pour publier un commentaire.
Le code d'état HTTP 500 signifie généralement que le serveur de code est tombé en panne. Vous devez déterminer le code d'état à l'avance à l'aide de
HttpURLConnection#getResponseCode()
et en cas d'erreur, lisez lesHttpURLConnection#getErrorStream()
à la place. Il peut notamment contenir des informations sur le problème.Si l'hôte a bloqué, vous préféreriez avoir obtenu un 4nn code d'état comme 401 ou 403.
Voir aussi:
Ce Code d'État 500 est une Erreur de Serveur Interne. Ce code indique qu'une partie du serveur (par exemple, un programme CGI) est en panne ou a rencontré une erreur de configuration.
je pense que le problème ne vient pas coucher sur le côté, mais plutôt sur le côté du serveur Http.
les ressources utilisées pour accéder à peut-être été déplacé ou corrompus, ou de sa configuration, juste peut-être modifié ou détérioré
J'ai rencontré le même problème et trouvé la solution.
Vous pouvez regarder à l'intérieur de la première réponse du serveur et de voir si le serveur vous a envoyé un cookie.
Pour vérifier si le serveur vous a envoyé un cookie, vous pouvez utiliser HttpURLConnection#getHeaderFields() et de regarder pour les en-têtes nommé "Set-Cookie".
Si existant, voici la solution de votre problème. 100% de Travail pour ce cas!
+1 si cela a fonctionné pour vous.
J'ai eu ce problème c'est à dire fonctionne très bien lorsqu'il est collé dans le navigateur, mais 505s lorsqu'elles sont faites par java. C'était tout simplement les espaces qui doivent être échappés/codé.
Modifier le contenu de type "application/x-www-form-urlencoded", j'ai résolu le problème.