测试服务器是否支持字节范围?

测试服务器是否支持字节范围?

使用 iTunes 进行播客需要字节范围请求支持。我正在帮助某人让苹果公司接受他们的播客以纳入他们的 iTunes 商店时遇到了麻烦,并且有人建议他们的网络服务器目前不支持字节范围请求。

我的问题是:有没有办法可以测试 Web 服务器是否正确处理字节范围请求?除了正常的公共请求外,我无法访问 Web 服务器。如果我有 Web 服务器上 MP3 文件的 URL,我可以使用 Web 浏览器或其他工具来测试这一点,例如查看 HTTP 标头吗?

答案1

此命令假定使用 Linux - 但可能只需稍加改动即可在 Windows 或 Mac 上运行 - curl 广泛可用,但可能未默认安装在您选择的系统上。我获取的示例文件是 curl 手册 - 一个方便的 URL ;)

curl --silent --range 20-40 https://curl.haxx.se/docs/manpage.html | wc -c

这将返回“21”——我要求字节 20-40,然后 curl 输出到 stdout,我将其通过管道传输到 wc 来计算字符数。

如果您得到的答案更大,则表示服务器已发送整个文件(尝试“www.youtube.com” - 无论您询问的范围是什么,它都会提供整个索引)。

因此,您在这里寻找神奇的 21 来表示“字节范围不是问题”。

Mac 替代品(尽管 Mac 上的 curl 对我来说似乎可用...但我可能安装了特殊版本):

brew install wget
wget --header="Range: bytes=20-40" -t 1 http://www.youtube.com

如果失败并返回 206,则表示它已获得范围。您也可以使用 curl “手动”发送标头。

相关内容