我正在尝试从C#代码中调用API。我无法获得响应,并收到状态码"500 - 内部服务器错误"。
发现请求头中附加了"Charset-UTF8"的原因。
当我在Fiddler中尝试不带"Charset-UTF8"的API时,我能够在Fiddler和Postman中获得响应。带有"Charset-UTF8"会导致相同的500个内部服务器错误。内容类型为"application/json"。
我甚至尝试了从C#代码中使用每种字符集编码方法:UTF-8、16、32、unicode和默认格式,但都出现了相同的错误。
请告诉我如何从API请求头中删除CharSet(附加)。
请查看我附加的代码。
发现请求头中附加了"Charset-UTF8"的原因。
当我在Fiddler中尝试不带"Charset-UTF8"的API时,我能够在Fiddler和Postman中获得响应。带有"Charset-UTF8"会导致相同的500个内部服务器错误。内容类型为"application/json"。
我甚至尝试了从C#代码中使用每种字符集编码方法:UTF-8、16、32、unicode和默认格式,但都出现了相同的错误。
请告诉我如何从API请求头中删除CharSet(附加)。
请查看我附加的代码。
HttpClient client1 = new HttpClient();
client1.BaseAddress = new Uri("i have third party url");
client1.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("application/json"));//ACCEPT header
client1.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
"Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", userName, password))));
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Put, client1.BaseAddress);
StringContent content = new StringContent(JsonConvert.SerializeObject("working request"));
request.Content = content;
client1.SendAsync(request)
.ContinueWith(responseTask =>
{
Console.WriteLine("Response: {0}", responseTask.Result);
});