Tôi đã đọc đặc tả Bit-torrent và thực hiện một số tìm kiếm, cố gắng tìm hiểu cách tôi có thể lấy hạt/dữ liệu được tải xuống từ trình theo dõi torrent (sử dụng Python). Tôi có thể tính toán băm thông tin từ một Torrent không có vấn đề, mà phù hợp với băm thông tin được đưa ra bởi các ứng dụng torrent làm việc khác nhau.Làm thế nào để tính toán URL bị xóa cho một torrent
Tuy nhiên, khi tôi cố gắng để có được những thông tin từ các tracker tôi hoặc là thời gian chờ (theo dõi đang làm việc) hoặc nhận dữ liệu rỗng, tùy thuộc vào những gì hình thức tôi đặt URL trong:
http://tracker.openbittorrent.com/scrape?info_hash=a8c482902b1c735de462479721b011dc7b3d3558 - timeout
Tôi được thông báo rằng số ký tự này phải dài 20 ký tự, vì vậy hãy lấy một chuỗi con, nhưng điều này cho biết dữ liệu trống.
http://tracker.openbittorrent.com/scrape?info_hash=a8c482902b1c735de462 - d5: filesdee
Tôi nghĩ tôi đã hiểu lầm gì đó với làm thế nào tôi nên mã hóa hoặc làm cho infohash cho URL cạo, nhưng có thể không cho cuộc đời của tôi nhìn thấy ở đâu.
Trong Python 3, sử dụng urllib.parse.quote (infohash). Trong Python 2, sử dụng urllib.quote (infohash). – Mead
Nếu bạn chỉ có phiên bản hex của infohash, hãy chuyển nó thành nhị phân với 'binascii.a2b_hex (hexinfohash)'. Bạn có thể cần phải gọi 'binascii.a2b_hex (hexinfohash.encode (" utf-8 "))' nếu bạn đang sử dụng Python 3. – Mead