最近,我正在做与磁力链接有关的事情。我想做的是将种子文件转换为磁力链接。
我尝试过给定的洪流文件如何生成 python 中的磁力链接,但在发出命令时出现错误 metadata = bencode.bdecode(torrent)
:
"本科德。嘭嘭。BTFailure:不是有效的编码字符串"
然后我尝试安装 python-libtorrent
,但未能完成安装。
有没有办法在Java中做到这一点?如果没有,如何在 Python 中轻松完成此操作,非常感谢!
我没有
检查这是否有效,但它是开始的参考,请点击此链接查看使用 bencode 库的 python 示例。
#!/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)