Система токенов µTorrent Web API не позволяет мне делать запросы - PullRequest
1 голос
/ 06 января 2012

Я пытаюсь проверить отправку URL-адреса магнита в 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();

, который правильно выбирает токен (я думаю)

далее я пытаюсь отправить 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();

но все, что я получаю, - это сообщение об ошибке, подобное этому (становится ошибкой 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-адрес из сообщения об ошибке в мой браузер (очевидно, изменив токен), и он работал нормально!

пожалуйста, помогите!

...