1. ホーム
  2. java

[解決済み] java.io.IOException: サーバーがHTTPレスポンスコードを返しました。500

2022-02-10 15:54:34

質問

私は、Javaでこの問題に直面しています。私はURLからいくつかのHTML情報を取得したい。このコードは長い間動作していましたが、突然、動作しなくなりました。

ブラウザでこのURLにアクセスすると、問題なく開くのですが。

コードです。

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();

例外のこと

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)

どうしたんですか?ホストが私をブロックしたのでしょうか?

どうすればいいですか?

HTTPステータスコード500 は、通常、ウェブサーバーコードがクラッシュしたことを意味します。事前にステータスコードを HttpURLConnection#getResponseCode() を読み、エラーの場合は HttpURLConnection#getErrorStream() 代わりに それはすなわち、問題についての情報を含んでいるかもしれません。

ホストがあなたをブロックしたのであれば、むしろ401や403のような4nnステータスコードを得ることができたはずです。

こちらもご覧ください。