Magnet links library for PHP

2020-02-13 07:58发布

问题:

Does anyone here know of a magnet-URI-parser for PHP? To validate it, or maybe to extract some information from it?

回答1:

In case you're looking for something like this:

Magnet URI: magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C (valid)

  Display Name .... (dn): 
  eXact Length .... (xl): 
  eXact Topic ..... (xt): urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C
  Acceptable Source (as): 
  eXact Source .... (xs): 
  Keyword Topic ... (kt): 
  Manifest Topic .. (mt): 
  address TRacker . (tr): 

take a look at the Demo.

Can't say if this matches your need, your question was sort of unspecific. So leave a comment.



回答2:

If you only need the fields, here is a quick and dirty one liner:

$link = 'magnet:?xt=urn:btih:0eb69459a28b08400c5f05bad3e63235b9853021&dn=Splinter.Cell.Blacklist-RELOADED&tr=udp%3A%2F%2Ftracker.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80&tr=udp%3A%2F%2Fopen.demonii.com%3A1337';

parse_str(str_replace('tr=','tr[]=',parse_url($link,PHP_URL_QUERY)),$query);

print_r($query);

Should yield:

 Array
 (
    [xt] => urn:btih:0eb69459a28b08400c5f05bad3e63235b9853021
    [dn] => Splinter.Cell.Blacklist-RELOADED
    [tr] => Array
        (
            [0] => udp://tracker.com:80
            [1] => udp://tracker.publicbt.com:80
            [2] => udp://tracker.istole.it:6969
            [3] => udp://tracker.ccc.de:80
            [4] => udp://open.demonii.com:1337
        )
)


回答3:

<?php
include_once "alfa.hash2mui.class.php";
$h2m=new Hash2mui();
echo $h2m->grab_mui("11A2AC68A11634E980F265CB1433C599D017A759");
?>

source https://github.com/alfredfrancis/Info-Hash-To-Magnet-URI/blob/master/example.php