在 Ruby 1.8.7 中设置范围标头时,会添加一个额外的“X-REMOVED: Range”标头,这(似乎)会阻止下载恢复工作。
size = File.size(local_file)
Net::HTTP.start(domain) do |http|
headers = {
'Range' => "bytes=#{size}-"
}
resp = http.get(remote_file, headers)
open(local_file, "wb") do |file|
file.write(resp.body)
end
end
发送的标头:
GET /test.zip HTTP/1.1..Host: 192.168.50.1..Accept: */*..X-REMOVED: Range..Range: bytes=481-....
我也尝试过使用 set_range 得到相同的结果。