Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从服务器读取带有某些偏移量的文件_Python_Http - Fatal编程技术网

Python 从服务器读取带有某些偏移量的文件

Python 从服务器读取带有某些偏移量的文件,python,http,Python,Http,如何从服务器读取以某个偏移量开始的文件(类似于wget-c)?我必须向服务器发送哪些标题?服务器必须支持哪些未来功能?中 请注意,'-c'仅适用于ftp 服务器和http服务器 支持范围标题 在 字节范围说明符示例 值(假设实体体为 长度(10000): 五百 字节(字节偏移量500-999,含): 字节=500-600601-999 字节=500-700601-999 所以你应该送 Range:bytes=9500- 要测试服务器是否支持它,可以测试接受范围 接受字节范围请求的源服务器可以发

如何从服务器读取以某个偏移量开始的文件(类似于wget-c)?我必须向服务器发送哪些标题?服务器必须支持哪些未来功能?

请注意,'-c'仅适用于ftp 服务器和http服务器 支持范围标题

字节范围说明符示例 值(假设实体体为
长度(10000):

五百 字节(字节偏移量500-999,含): 字节=500-600601-999 字节=500-700601-999

所以你应该送

Range:bytes=9500-
要测试服务器是否支持它,可以测试接受范围

接受字节范围请求的源服务器可以发送

接受范围:字节

但不需要这样做。客户端可能会生成字节范围 未收到资源的此标头的请求 卷入的范围单位在第3.12节中定义

不接受任何类型的范围请求的服务器 资源可能发送

Accept-Ranges: none
建议客户不要尝试范围请求


您应该在请求中使用
范围
标题。但只有当服务器通过
accept Ranges
response头通知您它接受范围请求时,您才可以使用它

这是一个示例会话。假设我们有兴趣参与其中。首先,我们发送一个HTTP
HEAD
请求以确定:a)服务器是否支持字节范围,b)内容长度:

> HEAD /2238/2758537173_670161cac7_b.jpg HTTP/1.1
> Host: farm3.static.flickr.com
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Thu, 08 Jul 2010 12:22:12 GMT
< Content-Type: image/jpeg
< Connection: keep-alive
< Server: Apache/2.0.52 (Red Hat)
< Expires: Mon, 28 Jul 2014 23:30:00 GMT
< Last-Modified: Wed, 13 Aug 2008 06:13:54 GMT
< Accept-Ranges: bytes
< Content-Length: 350015
这是前11个字节的十六进制转储:

00000000  ff d8 ff e0 00 10 4a 46  49 46 00                 |......JFIF.|
0000000b

有关更多信息,请参阅HTTP RFC 2616中的。

在范围标头规范中提到,接受范围是可选的。服务器可以接受范围而不提及它是位卷积的,但唯一正确的测试是try@Xavier是的,如果服务器不接受范围,那么它可能会响应406或400状态代码。
> GET /2238/2758537173_670161cac7_b.jpg HTTP/1.1
> Host: farm3.static.flickr.com
> Accept: */*
> Range: bytes=0-10
> 
< HTTP/1.1 206 Partial Content
< Date: Thu, 08 Jul 2010 12:26:54 GMT
< Content-Type: image/jpeg
< Connection: keep-alive
< Server: Apache/2.0.52 (Red Hat)
< Expires: Mon, 28 Jul 2014 23:30:00 GMT
< Last-Modified: Wed, 13 Aug 2008 06:13:54 GMT
< Accept-Ranges: bytes
< Content-Range: bytes 0-10/350015
< Content-Length: 11
< 
00000000  ff d8 ff e0 00 10 4a 46  49 46 00                 |......JFIF.|
0000000b