如何在 Web 客户端中指定消息正文

本文关键字:消息 正文 客户端 Web | 更新日期: 2023-09-27 18:30:17

在控制台中,我跟进了我所在的站点正在拨打的电话,我可以看到地址(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 - 结果不好。我错过了什么?

我已经在谷歌上搜索了一些东西,但唯一远程相关的点击是谈论我使用的上传方法。我完全吠错了树还是只是错过了一些小东西?有些人似乎让它工作,但他们没有标记。而且我没有足够的把握来确定它是否相关。

如何在 Web 客户端中指定消息正文

因此,作为评论中讨论的内容的总结:您可以使用更现代的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值。

有关异步/等待的更多信息。