【发布时间】:2011-10-27 11:32:20
【问题描述】:
我正在尝试使用 Web API 从 uTorrent 获取种子列表。获取所需令牌正常:
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 错误请求”。
我尝试手动获取令牌。在浏览器页面“http://localhost:30303/gui/?list=1&token=3LemfrO_-A-SNBXlnQ2QcQWTYydx7qOqKb1W1S54JJW74Ly3EYGgu0xQSU4AAAAA”中打开,但在 C# 中,没有任何变量的相同链接我仍然收到错误 400。 有趣的是,如果关闭令牌身份验证 WebClient 加载页面完美无缺
"&token=3LemfrO_-A-SNBXlnQ2QcQWTYydx7qOqKb1W1S54JJW74Ly3EYGgu0xQSU4AAAAA"
但默认情况下启用令牌身份验证,因此我和任何应用程序都应该使用它。 是的,WebRequest/HttpWebRequest 也没有帮助。
附:对不起我的英语,我永远无法让它正常工作
【问题讨论】:
-
很可能是编码问题。
标签: c# .net token asp.net-web-api utorrent