在控制台中,我跟进了我正在制作的网站的电话,我可以看到地址( some.site.com/gettoken ),邮件标题和FF的内容调用邮件正文。在后者中,我可以看到我在网站上输入的凭据。
所以,我有了URL和邮件正文。然后,我尝试使用C#为我的Azure服务层实现这样的行为。
String url = @"https://some.site.com/gettoken";
String credentials = "username=super&password=secret";
using (WebClient client = new WebClient())
{
String output = client.UploadString(url, credentials);
result = output;
}
然而,我收到错误400 - 结果不好。我错过了什么?
我用谷歌搜索了some stuff,但唯一远程相关的点击是谈论我用过的上传方法。我是完全吠叫错误的树还是只是遗漏了一些小东西? Some people似乎可以让它发挥作用,但它们并没有令人难以理解。而且我不确定它是否具有相关性。
答案 0 :(得分:1)
因此,作为评论中讨论内容的摘要:您可以使用the more modern HttpClient
代替。
请注意,这是System.Net.Http.HttpClient
而不是Windows.Web.Http.HttpClient
。
示例实现可能如下所示:
public async Task<string> SendCredentials()
{
string url = @"https://some.site.com/gettoken";
string credentials = "username=super&password=secret";
using(var client = new HttpClient())
{
var response = await client.PostAsync(url, new StringContent(credentials));
return await response.Content.ReadAsStringAsync();
}
}
您可能也对System.Net.Http.FormUrlEncodedContent
感兴趣,它允许您传递参数及其值,因此您不必自己构建credentials
值。