在我继续编写我的 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();
正确获取令牌(我认为)
接下来,我尝试在有和没有授权的情况下向 utorrent 发送一个磁铁 URL,并像文档建议的那样在开头设置我的令牌
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();
但我得到的只是这样的错误消息(如果我从后一段代码中删除授权标头,它会变成 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 复制到我的浏览器(显然更改了令牌)并且效果很好!
请帮忙!