是的,可以使用urllib2通过HTTP完成.
class HTTPRangeHandler(urllib2.BaseHandler):
def http_error_206(self, req, fp, code, msg, hdrs):
# Range header supported
r = urllib.addinfourl(fp, hdrs, req.get_full_url())
r.code = code
r.msg = msg
return r
def http_error_416(self, req, fp, code, msg, hdrs):
# Range header not supported
raise URLError('Requested Range Not Satisfiable')
opener = urllib2.build_opener(HTTPRangeHandler)
urllib2.install_opener(opener)
rangeheader = {'Range':'bytes=-128'}
req = urllib2.Request('http://path/to/your/file.mp3',headers=rangeheader)
res = urllib2.urlopen(req)
res.read()
Run Code Online (Sandbox Code Playgroud)
以下SO问题(远程文件上的Python搜索)有这个问/答.使用相同的解决方案时,您只需将字节设置为-128.(HTTP手册描述了当你做值时,它是响应结束时的值数量)
| 归档时间: |
|
| 查看次数: |
1093 次 |
| 最近记录: |