WebClient,不发送参数
我尝试从我的fogbugz 网站获取令牌,如下:
http://fogbugz.stackexchange.com/fogbugz-xml-api
我有:
using (var wb = new WebClient())
{
var data = new NameValueCollection();
data["cmd"] = HttpUtility.UrlEncode(cmdLogon);
data["email"] = HttpUtility.UrlEncode(email);
data["password"] = HttpUtility.UrlEncode(password);
content = encoding.GetString(wb.UploadValues(url, "POST", data));
}
在服务器响应下方:
<?xml version="1.0" encoding="UTF-8"?><response><error code="1">Nom d'utilisateur ou mot de passe incorrect</error></response>
我可以在 IIS 日志中看到请求,但缺少参数。
我做错了什么?
编辑:我确信参数是正确的,因为我在浏览器中进行了测试并且运行良好。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我用 Fiddler 运行了这个,您的代码发送了一个请求,请求正文中包含以下内容:
相反,我相信您应该按照 文档(请参阅“登录”部分):
如果您想使用
NameValueCollection
构建查询字符串,这个答案提供了一种方法来做到这一点。I ran this with Fiddler, and your code sends a request with the following content in the request body:
Instead, I believe you should be sending this information in the query string as per the documentation (see the "Logging On" section):
If you want to use a
NameValueCollection
to build your querystring, this answer provides a way to do that.