1

Java では、URL が存在することを確認しようとしています。これを行うには、URL オブジェクトを作成し、次に URL.openConnection を呼び出し、次に URLConnection.connect() を呼び出し、次に URL.openStream() を呼び出します。これらのどれも、この URL で例外をスローしません: "http://", これは意味がありません.

メソッドをプロトコルに依存しないようにする必要があります。

4

2 に答える 2

3

応答コードを取得します。

URL url = new URL("http://");
HttpURLConnection   conn = (HttpURLConnection)url.openConnection();
int rc = conn.getResponseCode();
conn.disconnect();

例外がスローされない場合、URL は存在します。こいつが投げた

Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: protocol = http host = null

私のため。

于 2012-05-25T01:37:25.550 に答える
1

URL が有効かどうかを確認してからリクエストを実行する場合は、コモンズ バリデーター ( http://commons.apache.org/validator/ ) を使用して、URL が本当に有効な場合に備えて openConnection() を実行できます。 .

ここのドキュメントとサンプル: http://commons.apache.org/validator/apidocs/org/apache/commons/validator/UrlValidator.html

于 2012-05-24T19:39:56.877 に答える