使用 Visual Studio - Windows 窗体应用程序 (.NET Framework) C# 发布带有标头和身份验证的 Json 正文

问题描述 投票:0回答:1
我是 Json 和 C# 新手。尝试在 Visual Studio 中构建 Windows 窗体,以使用 HttpClient 和 C# 将带有标头和身份验证的 json 数据发布到外部服务器。这是我正在使用的代码:

HttpClient client = new HttpClient(); //Basic authentication string username = "username"; string password = "password"; string auth = $"{username}:{password}"; var bytes = Encoding.UTF8.GetBytes(auth); var base64 = Convert.ToBase64String(bytes); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", base64); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "API-Key"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var newPost = new CreateUser() { employeeNumber = tbEmployeeNumber.Text, companyNumber = "123", firstName = tbFirstName.Text, lastName = tbLastName.Text, active = true, electronicAddresses = new electronicAddresses { addressType = "Main", value = tbEmail.Text } }; var newPostJson = JsonConvert.SerializeObject(newPost); var payLoad = new StringContent(newPostJson, Encoding.UTF8, "application/json"); var response = client.PostAsync("API-URL", payLoad).Result.Content.ReadAsStringAsync().Result; lblResult.Text = response;
当我运行这个时,我总是得到空结果!使用 Postman 进行测试工作正常。

我不知道我做错了什么?

有什么帮助/想法吗?预先感谢

c# json post httpclient
1个回答
0
投票
我无法访问后端的代码。来自

client.PostAsync("API-URL", payLoad).Result 的状态代码

{StatusCode:500,ReasonPhrase:“内部服务器错误”,版本:1.1,内容:System.Net.Http.StreamContent,标头: { 请求上下文:appId=cid-v1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 缓存控制:私有 日期:2024 年 4 月 15 日星期一 08:04:18 GMT 内容长度:0 }}

Postman

© www.soinside.com 2019 - 2024. All rights reserved.