无法使用身份验证使用C#代码进行POST请求

时间:2019-11-22 15:36:36

标签: c# rest http post

我正在使用以下代码对URL进行POST请求。

namespace ConsoleAppPost
{
    using System;
    using System.Net.Http;
    using System.Threading.Tasks;

    namespace HttpClientStatus
    {
        class Program
        {
            static async Task Main(string[] args)
            {
                using var client = new HttpClient();

                var result = await client.PostAsync("https://XXXX/api/XXX/XX/XXX/xyz", HttpContent content);
                Console.WriteLine(result.StatusCode);


            }
        }
    }
}

但是,我遇到以下错误:

方法PostAsync的重载没有1个参数

我还想使用用户名和密码作为身份验证来执行代码中的POST请求。 请帮助我。

1 个答案:

答案 0 :(得分:1)

问题出在这里

var result = await client.PostAsync("https://XXXX/api/XXX/XX/XXX/xyz", HttpContent content);

您要传递类型HttpContent content作为参数,而不是数据?

您需要执行以下操作

var content = new FormUrlEncodedContent(new[]
{
    new KeyValuePair<string, string>("Username", "<value>"),
    new KeyValuePair<string, string>("Password", "<value>"),
});
var result = await client.PostAsync("https://XXXX/api/XXX/XX/XXX/xyz", content);