Кто-нибудь знает об magnet-URI -parser for PHP? Чтобы проверить его или, возможно, извлечь из него какую-то информацию?Библиотека ссылок на магниты для PHP
ответ
В случае, если вы ищете что-то вроде этого:
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):
Нельзя сказать, если это соответствует вашей потребности, ваш вопрос был неспецифическим. Поэтому оставьте комментарий.
Я знаю, как извлечь имя/пар, но я бы подумал, что существуют более сложные правила проверки. А также, как я могу разрешить точную тему имени файла и размера? – Wieger
Никакие магнитные ссылки не являются простыми, для URI нет более сложных правил проверки. Тем не менее вы можете проверить данные, которые могут быть извлечены из этого URI. Тем не менее, это домен, собственный для каждого типа данных. Например. проверка ключевых слов зависит от того, как вы хотели бы их проверить. Точная тема не является именем файла и не охватывает размер, поэтому вы не можете найти имя файла или размер. Вы можете искать поисковые службы поиска p2p для самого URI. Но это абсолютно не связано с анализом и проверкой URI, о котором вы просили. – hakre
<?php
include_once "alfa.hash2mui.class.php";
$h2m=new Hash2mui();
echo $h2m->grab_mui("11A2AC68A11634E980F265CB1433C599D017A759");
?>
источник https://github.com/alfredfrancis/Info-Hash-To-Magnet-URI/blob/master/example.php
Если вам нужны только поля, вот быстрый и грязный один лайнер:
$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);
Если выход:
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
)
)
Отличная работа! Только то, что мне нужно! Спасибо! –
чем проблема извлечения некоторые данные от магнита-URI? Пожалуйста, объясните, что вы сделали до сих пор, и в какую проблему вы столкнулись. – hakre
Вероятно, связано: [Проблема с созданием хэш-файла торрент-файла] (http://stackoverflow.com/questions/6527357/problem-creating-info-hash-of-torrent-file) – hakre