μTorrentWebAPI的令牌系统阻止我发出请求

时间:2012-01-06 01:44:23

标签: android url web-applications asp.net-web-api utorrent

我正在尝试测试向utorrent发送磁铁网址,然后再继续编写我的Android应用程序。

首先我按照文档说

获取令牌
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发送磁铁网址并在开头设置我的令牌,就像文档建议一样

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的高级设置关闭令牌系统,并成功发送磁力链接。但是,我宁愿不这样做。

可悲的是我尝试将错误信息中的网址复制到我的浏览器(显然更改了令牌)并且工作正常!

请帮忙!

0 个答案:

没有答案