判断服务器是否支持resume get请求

2024-03-26

如何确定服务器是否支持恢复文件传输或获取请求?

我的想法是设置标头以在字节“2”而不是 0 处启动 get 请求,如果给出正确的结果,则立即关闭 http 请求

但我想知道服务器对另一种探针的响应是否会向我透露此信息


要探测服务器的下载恢复功能,您可以向服务器发送 HEAD 请求,提供具有任意值的 Range 标头。如果响应码为206,则支持恢复。

卷曲示例:

$ curl -i -X HEAD --header "Range: bytes=50-100" http://mirrors.melbourne.co.uk/ubuntu-releases//raring/ubuntu-13.04-desktop-amd64.iso

Update:

这是 Java 中的一个示例:

import org.apache.http.client.ResponseHandler;
import org.apache.http.client.HttpClient;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpHead;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicHeader;

public class ResumeChecker {

    public final static void main(String[] args) throws Exception {

        HttpClient httpclient = new DefaultHttpClient();
        HttpHead httpRequest = new HttpHead("http://www.google.com");
        httpRequest.addHeader(new BasicHeader("Range", "bytes=10-20"));

        System.out.println("Executing request " + httpRequest.getURI());

        HttpResponse response = httpclient.execute(httpRequest);

        // Check here that response.getStatusLine() contains 206 code
    }
}

不过,我还没有测试过mysqlf。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

判断服务器是否支持resume get请求 的相关文章