3

HEADメソッドを使用HttpClientしてヘッダー フィールドを取得し、サーバー ファイルの「最終更新日」を確認する必要があります。
ヘッダーフィールドを取得する方法を知っている場合は、返信してください。比較のために「最終変更」ヘッダーを String オブジェクトに取得する方法。

これが私のコードです:

HttpClient client = new DefaultHttpClient();
//HttpGet get = new HttpGet(url);
HttpHead method = new HttpHead(url);
HttpResponse response= client.execute(method);

Header[] s = response.getAllHeaders();

System.out.println("THe header from the httpclient:");
for(int i=0; i < s.length; i++){
    Header hd = s[i];
    System.out.println("Header Name: "+hd.getName()
                        +"       "+" Header Value: "+ hd.getValue());
}
4

3 に答える 3

2

httpClient 4.5 では、以下を使用します。

final HttpHead headMethod = new HttpHead(fileUri);
final Header header = headMethod.getFirstHeader("last-modified");
final String lastModified = header.getValue();
于 2015-07-21T10:32:19.387 に答える
1

次のようなものを使用するのが最善です。

CloseableHttpClient client = HttpClientBuilder.create().build();
HttpHead head = new HttpHead(url);
String lastModified;
try {
    CloseableHttpResponse response = client.execute(head);
    int statusCode = response.getStatusLine().getStatusCode();
    if (statusCode == 200) {
        Header header = headMethod.getFirstHeader("last-modified");
        lastModified = header.getValue();
    }
} catch (IOException ignored) {
}
于 2016-12-14T06:19:09.460 に答える
1

HttpClientのドキュメントから

HeadMethod head = new HeadMethod("http://jakarta.apache.org");

// Excecute the method here with your HttpClient

Header[] headers = head.getResponseHeaders();
String lastModified = head.getResponseHeader("last-modified").getValue();

独自のエラー処理を追加する必要があります。

于 2011-10-19T10:48:13.917 に答える