2

嗨,我正在从服务器下载文件。我必须使用 HEAD 方法获取元信息。andybody 帮助我实现 HEAD 方法以获取“最后修改”日期和修改后的日期。

这是我的代码:

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

//here I have to implement the HEAD method
4

1 回答 1

2

HEAD 和 GET 方法之间的区别在于响应不包含正文。否则,两者是一样的。换句话说,一个 HEAD 方法获取所有的标题。它用于获取单个标头的数据,它只是一次检索所有标头。

在代码示例中,您已经拥有所有标头,因为您执行了 HEAD 请求。在 for 循环中,您从标题中输出所有数据。如果last-modified不存在,则服务器没有为此资源提供它。

请注意,这if-modified-since是一个请求头字段,而不是响应头字段。您可以将其设置为指示服务器仅在修改后的日期已过时才返回资源。如果您打算仅在服务器上修改资源时检索资源,则可以使用带有if-modified-since标头集的 GET 请求。要了解服务器是否支持此标头,请检查此工具:http ://www.feedthebot.com/tools/if-modified/

于 2011-10-19T14:03:11.803 回答