.netcore中的HttpClient会自动在header中添加一个空格
本文关键字:添加 空格 一个 header HttpClient 中的 netcore | 更新日期: 2023-09-27 18:14:03
我在。netcore中使用HTTPClient
,但当我添加自定义接受标头时,我面临一个问题。
var client = new HttpClient { Timeout = new TimeSpan(0, 5, 0)};
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.TryAddWithoutValidation("Accept", "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1");
但是在这之后,我看到的是一个空格被自动添加,结果是" application/vnd.pagseguro.com.br.v3+json; charset=ISO-8859-1
"。这个空间给我带来了麻烦,因为服务器返回了一个错误。没有这个空间,它就能工作。
有任何方法来删除该空间在HttpClient
头?传统的方法不起作用,比如trim
,或者只是replace
,一旦它在DefaultRequestHeaders
内部,我就不能直接修改。
我能够通过使用。net Framework 4.5创建一个新的微服务来扭转这个问题。使用HttpWebRequest,报头不会在字符集和accept之间自动添加一个空格。
Thanks for the help =D
这是corefx的一个bug。
3年后仍然开放!
https://github.com/dotnet/corefx/issues/39260