gpt4 book ai didi

c# - 通过 .NET 使用 uTorrent Web API

转载 作者:太空狗 更新时间:2023-10-30 00:34:39 25 4
gpt4 key购买 nike

我正在尝试使用 Web API 从 uTorrent 获取种子列表.获取所需的 token 就OK了:

WebClient client = new WebClient() { Credentials = new NetworkCredential(UserName, pass) };
StreamReader Reader = new StreamReader(client.OpenRead("http://localhost:" + port + "/gui/token.html"));
string token = Reader.ReadToEnd();
token = token.Split('>')[2].Split('<')[0];
// token is now something like 3LemfrO_-A-SNBXlnQ2QcQWTYydx7qOqKb1W1S54JJW74Ly3EYGgu0xQSU4AAAAA

但是当我尝试使用它来获取种子列表时:

Reader = new StreamReader(client.OpenRead("http://localhost:" + port + "/gui/?list=1&token=" + token));

我得到的只是“错误 400 错误请求”。

我试过手动获取 token 。在浏览器页面“http://localhost:30303/gui/?list=1&token=3LemfrO_-A-SNBXlnQ2QcQWTYydx7qOqKb1W1S54JJW74Ly3EYGgu0xQSU4AAAAA”中正常打开,但在 C# 中没有任何变量的相同链接我仍然收到错误 400。有趣的是,如果关闭 token 身份验证,WebClient 加载页面可以完美地使用和不使用

"&token=3LemfrO_-A-SNBXlnQ2QcQWTYydx7qOqKb1W1S54JJW74Ly3EYGgu0xQSU4AAAAA"

但默认情况下启用 token 身份验证,因此我和任何应用程序都应该使用它。是的,WebRequest/HttpWebRequest 也没有帮助。

附言对不起我的英语,我从来没能让它正常工作

最佳答案

你必须从请求中保存cookie

Classes.CookieAwareWebClient client = new Classes.CookieAwareWebClient() { Credentials = new NetworkCredential("shehab", "shehab") };
StreamReader Reader = new StreamReader(client.OpenRead("http://localhost:" + "8080" + "/gui/token.html"));
string token = HtmlRemoval.StripTagsRegexCompiled(Reader.ReadToEnd());
MessageBox.Show(token);

Reader = new StreamReader(client.OpenRead("http://localhost:" + "8080" + "/gui/?list=1&token=" + token));
MessageBox.Show(Reader.ReadToEnd());

对于 cookie 感知类,请转到以下链接(Using CookieContainer with WebClient class),因为 Web 客户端不支持 cookie。

关于c# - 通过 .NET 使用 uTorrent Web API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7068771/

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