[英]How to convert torrent info hash for scrape?
这是一个原始的十六进制表示。 使用带有H
pack()
来转换它。 然后对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(确定)但仍然无法检索洪流详细信息...
万一有人遇到麻烦并且将来遇到这个问题:整个问题的诀窍是使用PHP:sha1函数的bool $raw_output
参数,将其设置为“true”。
BDecode / DEncode类可以在这里找到。 这个名为Trackon的项目还包括许多其他有用的类,可以与torrent跟踪器和文件进行交互。
info hash for scraping the tracker for details: 因此,在PHP中,类似这样的东西将用于获取信息哈希,以便抓取跟踪器以获取详细信息:
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');
希望这有助于那里的人。 在阅读了很多关于如何获取正确信息哈希的帖子后,我仍然在摸不着头脑。 我理解为什么现在没有提到这个,但是这个参数是在PHP 5中添加的。如果你没有运行PHP 5,你必须在计算之后将sha1哈希转换为原始二进制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.