7

Bittorent を C で実装しようとしています。まず、コード スニペットを作成する前に、Web ブラウザーを使用して次のメッセージ (URL) をトラッカー サーバーに送信しようとしました。

この URL を試すことができます。

http://torrent.ubuntu.com:6969/announce?
info_hash=%9b%db%bbI%f0%85%a2%d1%5d%96%ac%fa%bf%f81%06%001O%e0
&peer_id=ABCDABCDABCDABCDABCD&port=6882&downloaded=0
&uploaded=0
&left=0
&event=started

このリンクからdapper-dvd-i386.isoという名前9bdbbb49f085a2d15d96acfabff8310600314fe0で SHA-1 値を持つtorrent ファイルをダウンロードしました。

ただし、上記のリクエストを送信した後、取得します

your client is outdated, please upgrade
(HTTP 400 bad request)

トラッカー サーバーが私の要求を理解しないのはなぜですか? インターネットからの仕様は役に立ちません。
どんな助けでも素晴らしいでしょう。前もって感謝します。

4

1 に答える 1

13

リクエスト文字列が入っていないcompact=1からです。
現在、ほとんどのトラッカーはそれを必要としています。従来の方法は効果がありません。

BEP 23 を参照してください: トラッカーはコンパクトなピア リストを返しますhttp://www.bittorrent.org/beps/bep_0023.html

試す:

http://torrent.ubuntu.com:6969/announce?
info_hash=%9b%db%bbI%f0%85%a2%d1%5d%96%ac%fa%bf%f81%06%001O%e0
&peer_id=ABCDABCDABCDABCDABCD&port=6882&downloaded=0
&uploaded=0
&left=0
&event=started
&compact=1

すなわち

http://torrent.ubuntu.com:6969/announce?info_hash=%9b%db%bbI%f0%85%a2%d1%5d%96%ac%fa%bf%f81%06%001O%e0&peer_id=ABCDABCDABCDABCDABCD&port=6882&downloaded=0&uploaded=0&left=0&event=started&compact=1

トラッカーからの答えは次のとおりです。

d8:completei4e10:incompletei0e8:intervali1800e5:peers6:******e
于 2014-06-02T18:39:34.877 に答える