【问题标题】:How can i specify a range in a http request?如何在 http 请求中指定范围?
【发布时间】:2015-02-02 07:47:22
【问题描述】:

我发出这样的 http 请求:

Outputstream os;
os.write(("GET /Lifted-"+file+"p.dat HTTP/1.0\r\n\r\n").getBytes());

但在请求中我想指定在该文件中我想以某个偏移量(例如 2000)开始并以偏移量 10000 结束。我怎样才能使这个范围? 谢谢。

【问题讨论】:

  • 范围是什么? file的内容是什么?为什么要使用如此低级的 HTTP 接口?

标签: java http outputstream


【解决方案1】:

您可以在刷新流之前在输出流中添加范围标头。尝试如下操作:

os.write(("GET /Lifted-"+file+"p.dat HTTP/1.0\r\n").getBytes());
os.write("Range : bytes=2000-10000\r\n".getBytes());
os.write("\r\n".getBytes());
os.flush();

也许这对你有帮助。

注意:检查 ietf 文档的 Range 标头:IETF Range Header

【讨论】:

  • 整数也在括号内??
  • 范围整数不在括号内
  • 如果您需要任何其他说明,请告诉我。
  • Accept-Ranges 标头仅由服务器发送,从不由客户端发送。见RFC7233#2.3
猜你喜欢
  • 1970-01-01
  • 2016-01-02
  • 1970-01-01
  • 2015-08-16
  • 1970-01-01
  • 2015-03-16
  • 2015-02-04
  • 2015-04-10
  • 2013-08-17
相关资源
最近更新 更多