Есть ли способ конвертировать торрент файл в магнитную ссылку?

В последнее время я делаю вещи, связанные с магнитной связью. Я хочу конвертировать торрент-файл в магнитную ссылку.

Я пробовал " дать-торрент-файл-как-сделать-я-генерировать-магнит-ссылку-в-питоне", но получаю ошибку при вводе команды metadata = bencode.bdecode(torrent):

"bencode.BTL.BTFailure: недопустимая закодированная строка"

Затем я попытался установить python-libtorrent, но не удалось завершить установку.

Есть ли способ сделать это в Java? Если нет, то как это легко сделать в Python, спасибо большое!

0 ответов

Я не проверял, работает ли это, но это ссылка для начала, перейдите по этой ссылке для примера на Python с использованием библиотеки bencode.

#!/usr/bin/python

import sys
import urllib
import bencode
import hashlib
import base64

if len(sys.argv) == 0:
print("Usage: file")
exit()

torrent = open(sys.argv[1], 'r').read()
metadata = bencode.bdecode(torrent)

hashcontents = bencode.bencode(metadata['info'])
digest = hashlib.sha1(hashcontents).digest()
b32hash = base64.b32encode(digest)

params = {'xt': 'urn:btih:%s' % b32hash,
'dn': metadata['info']['name']}

announcestr = ''
for announce in metadata['announce-list']:
announcestr += '&' + urllib.urlencode({'tr':announce[0]})

paramstr = urllib.urlencode(params) + announcestr
magneturi = 'magnet:?%s' % paramstr

print(magneturi) 
Другие вопросы по тегам