通过php下载.torrent文件,Invalid Bencoding

Posted

技术标签:

【中文标题】通过php下载.torrent文件,Invalid Bencoding【英文标题】:Download .torrent file through php, Invalid Bencoding 【发布时间】:2016-06-06 09:16:46 【问题描述】:

我正在编写一个允许下载 torrent 文件的自定义 php 应用程序。 文件位于服务器上,根据用户请求,我通过以下方式提供文件:

    if( file_exists( $torrent_file ) ) 
        header("Content-type: application/x-bittorrent");
        header('Content-Length: ' . filesize( $torrent_file ));
        header('Content-Disposition: attachment; filename="' . basename( $torrent_file ).'"');

        readfile($torrent_file);
    

但是当我下载并尝试将文件添加到 uTorrent 时,我看到以下错误:

无法加载 - Torrent 不是有效的编码。

我四处寻找解决这个确切问题的方法,但没有成功。

【问题讨论】:

为什么不使用 PHPTracker 之类的库(php-tracker.org,bmain.net/d/2-create-torrent-files-with-php-and-phptracker 的示例) 你好,问题是所有的torrent文件都是通过第三方应用程序上传到服务器的,我所要做的就是提供一种下载方式。 【参考方案1】:

经过近一天的搜索和谷歌搜索,我发现了问题。 在一个包含的 php 文件中,在结束 php 标记之后似乎有一个尾随空格。 我删除了空格和结束标签,问题就解决了。

【讨论】:

诅咒!让我猜猜,是不是 Windows 到 Unix 复制粘贴中以 ^M 字符结尾的行? 是的!这是确切的问题:)

以上是关于通过php下载.torrent文件,Invalid Bencoding的主要内容,如果未能解决你的问题,请参考以下文章

Java Jsoup 下载 torrent 文件

检查从 torrent 下载的视频文件是不是可以播放

BT种子

BT种子

如何将 Visual Studio 2015 Community 下载为 torrent 文件? [关闭]

如何使用 php 从 torrent 文件中获取哈希信息?