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

问题描述 投票:0回答:1

我正在使用下面的代码对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请求。请帮助我。

c# rest http post
1个回答
0
投票

问题出在这里

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);
© www.soinside.com 2019 - 2024. All rights reserved.