HttpClientを使用してURLステータスを取得する最も速い方法は何ですか?ページ/ファイルをダウンロードしたくない場合は、ページ/ファイルが存在するかどうかを知りたいだけです(リダイレクトの場合はリダイレクトに従います)HttpClientを使用してURLステータスコードを取得する最も速い方法は何ですか
7
A
答えて
6
HEADコールを使用してください。これは、基本的にGETコールであり、サーバーはボディを返さない。そのドキュメントからの例:
あなたが使用することができますHeadMethod head = new HeadMethod("http://jakarta.apache.org");
// execute the method and handle any error responses.
...
// Retrieve all the headers.
Header[] headers = head.getResponseHeaders();
// Retrieve just the last modified header value.
String lastModified = head.getResponseHeader("last-modified").getValue();
0
:
HeadMethod head = new HeadMethod("http://www.myfootestsite.com");
head.setFollowRedirects(true);
// Header stuff
Header[] headers = head.getResponseHeaders();
は、WebサーバーがHEADコマンドをサポートしていることを確認しています。 HTTP 1.1 Spec
0
で
節を参照してください9.4あなたはjava.net.HttpURLConnection
で、この情報を取得することができます:ここで
URL url = new URL("http://stackoverflow.com/");
URLConnection urlConnection = url.openConnection();
if (urlConnection instanceof HttpURLConnection) {
int responseCode = ((HttpURLConnection) urlConnection).getResponseCode();
switch (responseCode) {
case HttpURLConnection.HTTP_OK:
// HTTP Status-Code 302: Temporary Redirect.
break;
case HttpURLConnection.HTTP_MOVED_TEMP:
// HTTP Status-Code 302: Temporary Redirect.
break;
case HttpURLConnection.HTTP_NOT_FOUND:
// HTTP Status-Code 404: Not Found.
break;
}
}
8
は、私はとても気に入っている、私はHttpClientをからステータスコードを取得する方法である:
public boolean exists(){
CloseableHttpResponse response = null;
try {
CloseableHttpClient client = HttpClients.createDefault();
HttpHead headReq = new HttpHead(this.uri);
response = client.execute(headReq);
StatusLine sl = response.getStatusLine();
switch (sl.getStatusCode()) {
case 404: return false;
default: return true;
}
} catch (Exception e) {
log.error("Error in HttpGroovySourse : "+e.getMessage(), e);
} finally {
try {
response.close();
} catch (Exception e) {
log.error("Error in HttpGroovySourse : "+e.getMessage(), e);
}
}
return false;
}
関連する問題
- 1. IDでXMLノードを取得する最も速い方法は
- 2. perlを使用してURLステータスコードを取得する
- 3. デスクトップをストリーミングする最も速い方法は何ですか?
- 4. タイプをチェックする最も速い方法は何ですか?
- 5. Javaでは、システム時間を得る最も速い方法は何ですか?
- 6. ファイルからStringを読み取る最も速い方法は何ですか?
- 7. Pythonを使用してHDパフォーマンスを測定する最も簡単で最速の方法は何ですか?
- 8. OpenCVを使用してPythonでCvMatを反復する最も速い方法は何ですか?
- 9. リモートマシン上のイベントログを読み取る最も速い方法は何ですか?
- 10. PHPを使用して重複CSSルールをフィルタリングする最も速い方法は何ですか?
- 11. Java:リフレクションを使用してフィールドを注入する最も速い方法は何ですか?
- 12. HttpClientから最後のURLを取得するには?
- 13. httpClientを使用してコンテンツエンコーディングgzipでページソースを取得する方法は?
- 14. WMIを使用してMSMQで最も古いメッセージを取得する方法.. ..
- 15. Twitter4jを使用してフォロワーのリストを取得する最も効果的な方法は何ですか?
- 16. データベースから順次データを取得する最も速い方法は何ですか?
- 17. Pythonで複数のツリーのコピーを取得する最も速い方法は何ですか?
- 18. iOSで最も速い描画方法は何ですか?
- 19. Jqueryを使用してajaxリクエストのベースURLを設定する最も良い方法は何ですか?
- 20. NumPyで乱数を取得する最も良い方法は何ですか?
- 21. オンラインで署名を取得する最も良い方法は何ですか?
- 22. PHPでHashTableを取得する最も良い方法は何ですか?
- 23. ページビューですべてのコンテンツ(URL)のリストを取得する最も簡単な方法は何ですか?
- 24. AFNetworkingでステータスコードを取得する方法
- 25. sun.misc.Unsafeを使用すると、Direct ByteBufferからバイトをスキャンする最も速い方法は何ですか?
- 26. javacriptを使用してドメイン/ホスト名を取得する最速の方法
- 27. ユーザロケーションサーバ側を取得する最も良い方法は何ですか
- 28. Pythonで重複をチェックする最も速い方法は何ですか?
- 29. Cでbmpイメージを回転する最も速い方法は何ですか?
- 30. Gtk +で画像を描画する最も速い方法は何ですか?
CloseableHttpResponseの例を提供していただきありがとうございます。 "404"はまあまあですが、代わりにApacheのHttpStatusクラスを使用できます。 switch(sl.getStatusCode()){ case HttpStatus.SC_CREATED:falseを返します。 デフォルト:trueを返します。 } –