【发布时间】:2020-06-16 17:51:41
【问题描述】:
我正在尝试与支付网关 (PagSeguro) 集成,根据文档,我必须使用 Accept Header "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1 ”。
尝试使用代码不起作用:
HttpClient.DefaultRequestHeaders.Clear();
HttpClient.DefaultRequestHeaders.Add("Accept", "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1");
var content = new StringContent(json, Encoding.Default, "application/json");
var response = await HttpClient.PostAsync(enderecoPreApprovals, content);
var responsestr = await response.Content.ReadAsStringAsync();
我也尝试使用文档中的相同代码:
var client = new RestClient(url) {Timeout = -1};
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1");
request.AddParameter("application/json", content, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
并使用 flurl:
var response = await addresPreApprovals
.WithHeader("Accept", "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1")
.WithHeader("Content-Type", "application/json")
.PostJsonAsync(adesaoDto);
所有回复都是Accept header field is mandatory.。就像 Accept Header 无法识别一样。
问题不在 API 中,为什么我尝试使用 Postman 和 Insomnia 并且效果很好。
【问题讨论】:
-
你找到解决办法了吗?
标签: rest asp.net-core http-headers dotnet-httpclient flurl