Вопрос

У меня есть торрент-хеш из магнитной ссылки.Например: FDA164E7AF470F83EA699A529845A9353CC26576 Когда я пытаюсь получить информацию о LeeChers и Pees, я должен запросить: http://tracker.publicbt.com/ scrape? info_hash= ??? Как я должен преобразовать инфо HASHH для этого запроса?Это URL кодирует или бескодирует?как?В PHP.

Это было полезно?

Решение

Это сырье шестнадцатеричное представление.Используйте pack() с H для преобразования его.Тогда URL кодирует это.

Другие советы

получил этот фрагмент Python от коллеги,

r = ''
s = 'fda164e7af470f83ea699a529845a9353cc26576'
for n in range(0, len(s), 2):
    r += '%%%s' % s[n:n+2].upper()
print r
.

Выход:% Fd% A1% 64% E7% AF% 47% 0F% 83% EA% 69% 9A% 52% 98% 45% A9% 35% 3C% C2% 65% 76

работает как шарм.

Редактировать: работает как очарование для получения трекера, чтобы вернуть статус 200 (ОК), но все равно не работает для получения торрента деталей ...

В случае, если у кого-то возникли проблемы и наступают в этом потоке в будущем: трюк к тому всему вопросу - использовать аргумент bool $raw_output of PHP: SHA1 Функция, установка его на« True ».

Классы bdecode / dencode можно найти здесь . Этот проект, называемый Texon, также включает в себя много других полезных классов для взаимодействия с торрентными трекерами и файлами.

Итак, в PHP, что-то вроде этого будет работать для получения информации Free для соскабливания трекера для деталей:

include('./path/to/BDecode.php');
include('./path/to/BEncode.php');

function getHash($torFile){
    $tfile = BDecode(file_get_contents($torFile));
    $infohash = sha1(BEncode($tfile["info"]), TRUE);

    return urlencode($infohash);
}
.

Тогда просто называйте это так:

$hash = getHash('./path/to/.torrent');
.

Надеюсь, это поможет кому-то там. Я все еще был царапан головой после прочтения много постов о том, как получить правильную информацию HASHH. Я понимаю, почему это никуда не упомянуло нигде, хотя этот аргумент был добавлен в PHP 5. Если вы не используете PHP 5, вам придется преобразовать хэш Sha1 в RAW BINARY после того, как вы рассчитываете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top