【问题标题】:Redirecting MP3 requests to Libsyn without iTunes' "byte-range" error?在没有 iTunes 的“字节范围”错误的情况下将 MP3 请求重定向到 Libsyn?
【发布时间】:2012-11-20 09:48:18
【问题描述】:

我将 Libsyn 用于几个播客,这是我以前从未遇到过的新问题。我发布我自己的 RSS 提要,并通过我自己的服务器重定向音频文件请求,以便我可以进行自己的日志记录。 iTunes 拒绝我提交的提要,并显示消息“您的提要有问题。您的剧集托管在不支持字节范围请求的服务器上。启用字节范围请求并再次尝试提交。”

显然,Libsyn 确实支持字节范围请求,因此问题似乎出在我重定向请求的方式上。这就是我现有的播客一直有效的方法:

$id = 12345; // (the episode number)
$url = 'http://traffic.libsyn.com/myshow/myfile-'.$id.'.mp3';
header("Location: $url");

所以我尝试添加一些标题来让 iTunes 相信我确实支持字节范围请求。我已经尝试了几乎所有我能想到的这些组合:

$id = 12345; // (the episode number)
$filesize = 12345678; // (the size of my file on Libsyn)
$url = 'http://traffic.libsyn.com/myshow/myfile-'.$id.'.mp3';
header('HTTP/1.1 206 Partial Content');
header('Content-Type: audio/x-mp3');
header('Accept-Ranges: bytes');
header("Content-Length: $filesize");
header("Location: $url");

我在尝试将节目提交到 iTunes 时仍然收到错误消息,并且我没有想法。有什么建议吗?

【问题讨论】:

    标签: php apache http-headers itunes podcast


    【解决方案1】:

    您不能返回使单个 HTTP 响应既是成功 (206) 又是重定向(Location 标头,暗示 30x)。您需要自己提供内容,或者放弃日志记录。

    【讨论】:

    • 我发现了问题,并不是我想的那样。重定向工作正常,但我有一个错字,正在寻找来自错误域名的文件。
    • 哦...嗯,没错,我想范围请求只会在目标主机上工作。但是您仍然应该从响应中删除除 Location 之外的所有标头,因为它们在重定向时都毫无意义。
    【解决方案2】:

    我鼓励发布此问题的许多其他人寻找不相关的拼写错误以及像我的问题一样愚蠢的问题。 iTunes 返回的错误不一定是它所说的。

    【讨论】:

      猜你喜欢
      • 2015-12-06
      • 2019-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      相关资源
      最近更新 更多