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. XPathとHtmlAgilityPackを使用してHTMLドキュメントノードを取得する最も速い方法は何ですか?
- 2. URLを使って最も速くストリーミングビデオを取得する方法
- 3. Android - URLからdrawableを取得する最も速い方法は何ですか?
- 4. IDでXMLノードを取得する最も速い方法は
- 5. デスクトップをストリーミングする最も速い方法は何ですか?
- 6. タイプをチェックする最も速い方法は何ですか?
- 7. Javaでは、システム時間を得る最も速い方法は何ですか?
- 8. perlを使用してURLステータスコードを取得する
- 9. ファイルからStringを読み取る最も速い方法は何ですか?
- 10. Pythonを使用してHDパフォーマンスを測定する最も簡単で最速の方法は何ですか?
- 11. OpenCVを使用してPythonでCvMatを反復する最も速い方法は何ですか?
- 12. リモートマシン上のイベントログを読み取る最も速い方法は何ですか?
- 13. Java:リフレクションを使用してフィールドを注入する最も速い方法は何ですか?
- 14. C#を使用してコンボボックスのドロップダウンに項目を追加する最も速い方法は何ですか?
- 15. PHPを使用して重複CSSルールをフィルタリングする最も速い方法は何ですか?
- 16. b3を使用してs3バケットを空にする最も速い方法は何ですか?
- 17. Tensorflow Object Detection APIをフラットイメージレコグナイザとして使用する最も速い方法は何ですか?
- 18. データベースから順次データを取得する最も速い方法は何ですか?
- 19. iOSで最も速い描画方法は何ですか?
- 20. デバイス間で最も速い通信方法は何ですか?
- 21. amoでフィルターされた属性メンバーを取得する最も速い方法は何ですか?
- 22. Pythonで複数のツリーのコピーを取得する最も速い方法は何ですか?
- 23. HttpClientから最後のURLを取得するには?
- 24. Twitter4jを使用してフォロワーのリストを取得する最も効果的な方法は何ですか?
- 25. Jqueryを使用してajaxリクエストのベースURLを設定する最も良い方法は何ですか?
- 26. pngからsvgを取得する最も良い方法は何ですか?
- 27. WMIを使用してMSMQで最も古いメッセージを取得する方法.. ..
- 28. PHPでHashTableを取得する最も良い方法は何ですか?
- 29. NumPyで乱数を取得する最も良い方法は何ですか?
- 30. Cycle.jsアプリでビューポートサイズを取得する最も良い方法は何ですか?
CloseableHttpResponseの例を提供していただきありがとうございます。 "404"はまあまあですが、代わりにApacheのHttpStatusクラスを使用できます。 switch(sl.getStatusCode()){ case HttpStatus.SC_CREATED:falseを返します。 デフォルト:trueを返します。 } –