問題タブ [utorrent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - WebUI (uTorrent) からトークンを取得するにはどうすればよいですか
今、接続するアカウントを設定した後 ( http://IP:8080/gui/?list=1戻り値: 無効な要求。 ?list=1 のような「API コマンド」を入力しないでください。
uTorrent フォーラムを検索した後、URL にトークンを追加する必要があることを発見しました。そのトークンはどこでどのように入手できますか? 文字列のはずですよね?JSON を表示できるように取得するにはどうすればよいですか? トークンを自動的に作成して、毎回再プログラムしなくても Android アプリで機能するようにするにはどうすればよいですか? 他の場所で見つけたものは、まったく役に立ちませんでした。
私の質問が明確だったことを願っています。
EDIT2:ここで質問するとすぐに、どのように解決策を見つけるのかわかりません。https://github.com/bittorrent/webui/wiki/TokenSystem
これに続いて。http://IP:8080/gui/token.html と入力しました。次に、ブラウザで view-source をクリックするだけで、トークンが返されました。アプリでこれを使用する方法を理解する必要がありますが、この質問には回答があります。
android - uTorrent WebAPI、アクションにトークンを追加? セッションを設定しますか?
Android用のuTorrentリモートクライアントを完成させています。ただし、アクションを追加しているときに、アクションの URL にトークンを追加できないことに気付きました。
トレントのリストを提供する URL リクエストは次のようになります。
ご覧のとおり、トークンを追加するだけでリクエストが通過します。ただし、セッションはありません。そのため、すべてのリクエストにトークンを追加するだけだと思いました。ただし、これは残りのリクエストでは不可能なようです (それとも!?)。
これは私がする必要がある要求の例ですHTTP://[IP]:[PORT]/GUI/?ACTION=START&HASH=[TORRENT HASH]
そこにトークンを追加できません。Cookie ヘッダーを追加しても、セッションがセットアップされないようです。アプリをブラウザのようにセッションを維持する方法はありますか? では、WebAPI は毎回トークンを要求しませんか?
android - 同じコードを使用して別のネットワークから WEBAPI(uTorrent) にアクセスできません。ローカル ネットワークでも機能します。
ポートを転送しました。ここで確認しました:
ただし、このロジックを使用してCookieを取得できます(ローカルネットワークで機能します):
クッキーを取得
Cookie と認証を使用してトークンを取得する
トークンを使用して WEBAPI アクションを呼び出す
問題は、トークンを取得することさえできないことです。
次のエラーが表示されます: FileNotFoundException
同じ IP、ポート、およびリンクがブラウザで正常に動作するため、認証に問題があるか、Cookie に問題があると思われます。
それは次のように使用されます。
HTTP 応答は次のとおりです: HEADER FIELDS{null=[HTTP/1.1 400 ERROR]、Connection=[keep-alive]、Content-Length=[17]、Content-Type=[text/html]、X-Android-Received- Millis=[1484153865632]、X-Android-Response-Source=[NETWORK 400]、X-Android-Selected-Protocol=[http/1.1]、X-Android-Sent-Millis=[1484153865562]}
この時点でエラーは発生しないはずです。グローバルIPに接続するときは悪いリクエストになる可能性がありますが、ローカル接続では問題ありません。
だから私の質問はです。グローバル IP に接続するときは別の方法で認証する必要がありますか? どのように?いつものように、ドキュメントはまったく役に立ちません。
tcp - uTorrent は TCP と uTP をどのように選択しますか?
Wiresharkを使用してuTorrentがどのように機能し、送信されたパケットをキャプチャするかを分析しようとしています. 同じローカル ネットワークには 3 つのホストがあり、そのうちの 1 つは torrent を作成してシードを開始し、残りの 2 つは torrent をダウンロードします。トレースから、uTorrent は TCP と uTP の両方を使用しているように見え、ダウンロードの途中でプロトコルを切り替えることがあります。uTorrent はどのように選択しますか? Bittorrent のドキュメントを確認しましたが、何も見つかりませんでした。uTorrentに2つのうちの1つだけを強制的に使用させる方法はありますか?