获取获取洪流种子和同伴的刮擦请求

Jac*_*lly 6 html php bittorrent utorrent

我一直试图创建一个洪流网站,但我坚持以下.如何发送洪流刮取请求以获取其播种机和leechers?

我有一个PHP类函数,它提供了我的通知列表.

public function getTrackers() {
    // Load tracker list
    $trackerlist = array();

    if ( $this->torrent->get_value('announce-list') )
    {
        $trackers = $this->torrent->get_value('announce-list')->get_plain();
        while ( list( $key, $value ) = each( $trackers ) )
        {
            if ( is_array( $value->get_plain() ) ) {
                while ( list( $key, $value2 ) = each( $value ) )
                {
                    while ( list( $key, $value3 ) = each( $value2 ) )
                    {
                        array_push( $trackerlist, $value3->get_plain() );
                    }
                }
            } else {
                array_push( $trackerlist, $value->get_plain() );
            }
        }
    }
    else if ( $this->torrent->get_value('announce') )
    {
        array_push( $trackerlist, $this->torrent->get_value('announce')->get_plain() );
    }

    return $trackerlist;
}
Run Code Online (Sandbox Code Playgroud)

此代码基于bencode.php编码的数据.如何显示每个连续发布网址的种子等方?

Annouce Url | Seeds : No. | Peers: No.     
Annouce Url | Seeds : No. | Peers: No.     
Annouce Url | Seeds : No. | Peers: No. 
and so on.....
Run Code Online (Sandbox Code Playgroud)

Nik*_*lov 5

由于我对PHP的经验有限,我无法帮助您使用代码,但处理HTTP跟踪器应该相当容易.

获取通知URL,搜索并将"announce"替换为"scrape",并添加?infohash=<url-encoded-binary-20-byte-long-infohash>为参数(您可以infohash=在查询中添加任意数量,除以&符号.对生成的URL进行HTTP调用并阅读您的bencoded答案.将包含所有请求的信息哈希与其各自的下载,播种机(跟踪器词汇表中的"完整")和leechers("不完整").HTTP scrape有很好的文档记录.

处理UDP跟踪器有点复杂,因为这种二进制形式的通信发生在更低的级别.查看UDP跟踪器协议完整描述.