Androidアプリの作成を完了する前に、マグネットURLをutorrentに送信することをテストしようとしています。
最初に、ドキュメントが言うようにトークンを取得します
byte[] encodedLogin = (user.getUsername() + ":" + user.getPassword()).getBytes();
String auth = "Basic " + Base64.encodeToString(encodedLogin, false);
Document doc = Jsoup.connect("http://" + user.getIpAddress() + ":" + user.getPort() + "/gui/token.html")
.header("Authorization", auth)
.get();
token = doc.getElementById("token").text();
トークンを適切に取得する(私は思う)
次に、ドキュメントが示唆するように、承認の有無にかかわらずマグネットURLをutorrentに送信し、トークンを最初に設定しようとします
Jsoup.connect("http://" + user.getIpAddress() + ":" + user.getPort() + "/gui/")
.header("Authorization", auth)
.data("token", token)
.data("action", "add-url")
.data("s", "magnet:?xt=urn:btih:8AC3731AD4B039C05393B5404AFA6E7397810B41").get();
しかし、私が得るのはこのようなエラーメッセージだけです(後者のコードからAuthorizationヘッダーを削除すると401エラーになります)
java.io.IOException: 400 error loading URL http://192.168.1.105:47240/gui/?token=OiBBhy1x7JuqvrB1xb88wJGLKH2hzC4KaOGBMtDjg1F3LFyx0LrkjaZGBk8AAAAA&action=add-url&s=magnet%3A%3Fxt%3Durn%3Abtih%3A10A28E56F3705DA09D06D76F0FD51B6116730C08
utorrentの詳細設定からトークンシステムをオフにしてみたところ、マグネットリンクは正常に送信されました。しかし、私はむしろそれをしたくありません。
悲しいことに、エラー メッセージからブラウザに URL をコピーしようとしましたが (明らかにトークンを変更しました)、うまくいきました。
助けてください!