gpt4 book ai didi

javascript - 难以与 utorrent Web API 进行通信

转载 作者:行者123 更新时间:2023-11-28 02:13:30 32 4
gpt4 key购买 nike

我正在尝试访问utorrents web api,它使用详细的 token 身份验证系统here

我页面上的 JavaScript 是

        <script>
$.getJSON("http://XXX.XXX.XXX.XXX/lib/token.php", function(response) {
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
//script.onreadystatechange = function () {
// if (this.readyState == 'complete') utorrent();
//}
//script.onload = utorrent();
script.src = 'http://XXX.XXX.XXX.XXX:8080/gui/?list=1&token=' + response.token;
head.appendChild(script);
});
</script>

只需从 php 文件中检索 token 并将其沿链传递,我已经确认 token 正在传递并且没有被中毒,我的 PHP 文档如下

<?php
header('Content-type: text/json');
$token = file_get_contents('http://[username]:[password]@XXX.XXX.XXX.XXX:8080/gui/token.html');
$token = str_replace("<html><div id='token' style='display:none;'>", "", $token);
$token = str_replace("</div></html>", "", $token);
$response = array('token' => $token);
echo json_encode($response);
?>

这给了我对 token 的确认对象{标记:“GMt3ryaJE64YpXGN75-RhSJg-4gOW8n8XfTGYk_ajpjNLNLisR3NSc8tn1EAAAAA”}

但随后我在检索列表时收到 400 错误代码获取http://XXX.XXX.XXX.XXX:8080/gui/?list=1&token=GMt3ryaJE64YpXGN75-RhSJg-4gOW8n8XfTGYk_ajpjNLNLisR3NSc8tn1EAAAAA 400(错误)

任何帮助/想法/想法将不胜感激

最佳答案

只是加上我的 2 美分。

我一直在 .NET MVC 中执行类似的实现 - 我能够像您一样获取 token ,但 list=1 功能对我也不起作用,获取 400 错误请求代码(如您已发现)。

我的解决方案:在 token.html 响应中,div 中有一个 token , header 中有一个 GUID

分解:

  1. 使用 uTorrent 凭据调用 token.html
  2. 在响应内容中,解析html获取token
  3. 在响应头中,有一个键为 Set-Cookie 的值,看起来像

    Set-Cookie: GUID=<guid value>

  4. 我需要在发回的所有请求中使用此值 ( GUID=<guid value> ) 以及 token ,它起作用了!

我不确定 PHP 中的实现是什么来做到这一点:)

另外请注意,我一直在尝试通过 jQuery 的 $.getJSON 获取值。和$.Ajax方法没有任何成功,因为我使用的浏览器(chrome)对跨域请求有严格的指导方针,而且看起来 uTorrent 没有实现 JSONP .

希望这有帮助!

关于javascript - 难以与 utorrent Web API 进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16731366/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com