从 udp 跟踪器中获取没有播种机和水蛭的刮擦
Getting no seeders and leechers for scrape from udp tracker
我正在尝试为 UDP 跟踪器实施抓取方法,但我一直收到 0 seeders/leechers 作为响应。我仍然得到 2 作为操作,因此没有错误报告。
我在这里硬编码了一个散列,只是为了表明它对我得到的结果没有影响。
final ByteArrayOutputStream byteStream =new ByteArrayOutputStream();
final DataOutputStream dataStream =new DataOutputStream(byteStream);
dataStream.writeInt(connectResponse.get("connectionId0"));
dataStream.writeInt(connectResponse.get("connectionId1"));
dataStream.writeInt(2);
dataStream.write(connectResponse.get("transactionId"));
bencodeWriter.write(byteOut.toString());
dataStream.writeChars("1D19CC96C1A4965D184E4B215942DBC0A09FF8F2");
dataStream.close();
final byte[] scrapeBytes= byteStream.toByteArray();
我尝试了不同的追踪器,但得到了相同的响应。可能是什么问题?
编辑:添加了所有请求和响应的十六进制转储:
连接请求:
连接响应:
抓取请求:
抓取响应:
在抓取请求中;
transaction_id
=0x36
作为单个字节而不是 4 个字节发送=0x00000036
并且 info_hash
作为一个 80 字节的十六进制编码字符串发送,每个字符前面都有一个零字节 0x00
而不是原始的 20 字节字符串。
IE。 0x0031004400310039...
而不是 0x1D19...
Scrape 响应没有同行,因为请求中没有发送带有 info_hashes 的种子。
我正在尝试为 UDP 跟踪器实施抓取方法,但我一直收到 0 seeders/leechers 作为响应。我仍然得到 2 作为操作,因此没有错误报告。 我在这里硬编码了一个散列,只是为了表明它对我得到的结果没有影响。
final ByteArrayOutputStream byteStream =new ByteArrayOutputStream();
final DataOutputStream dataStream =new DataOutputStream(byteStream);
dataStream.writeInt(connectResponse.get("connectionId0"));
dataStream.writeInt(connectResponse.get("connectionId1"));
dataStream.writeInt(2);
dataStream.write(connectResponse.get("transactionId"));
bencodeWriter.write(byteOut.toString());
dataStream.writeChars("1D19CC96C1A4965D184E4B215942DBC0A09FF8F2");
dataStream.close();
final byte[] scrapeBytes= byteStream.toByteArray();
我尝试了不同的追踪器,但得到了相同的响应。可能是什么问题?
编辑:添加了所有请求和响应的十六进制转储:
连接请求:
连接响应:
抓取请求:
抓取响应:
在抓取请求中;
transaction_id
=0x36
作为单个字节而不是 4 个字节发送=0x00000036
并且 info_hash
作为一个 80 字节的十六进制编码字符串发送,每个字符前面都有一个零字节 0x00
而不是原始的 20 字节字符串。
IE。 0x0031004400310039...
而不是 0x1D19...
Scrape 响应没有同行,因为请求中没有发送带有 info_hashes 的种子。