c# - .netcore 中的 HttpClient 会自动在 header 中添加一个空格

标签 c# http-headers httpclient space .net-core

我在 .netcore 中使用 HTTPClient,但在添加自定义接受 header 时遇到问题。

 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 header 中的那个空格?常规方法不起作用,例如 trim,或者只是 replace 一旦它位于 DefaultRequestHeaders 中,我无法直接修改。

最佳答案

我能够通过使用 .net Framework 4.5 创建一个新的微服务来解决这个问题。使用 HttpWebRequest, header 不会在字符集和接受之间添加自动空格。

谢谢你的帮助=D

关于c# - .netcore 中的 HttpClient 会自动在 header 中添加一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40152607/

相关文章:

android - 执行apache HttpPost时如何在UrlEncodedFormEntity中将空格编码为%20?

c# - 如何在 ASP.NET Core 中使用模型验证来验证所需的查询字符串字段

c# - 如何在 T-SQL 语句中找到 Apriori 关联?

google-chrome - 在 Chrome 中查看完整的重定向路径和 HTTP 状态代码

javascript - 在 JavaScript 中访问网页的 HTTP header

http - 如何防止在 HTTP 1.1 请求中保持事件状态?

c# - HttpRequestMessage.GetClientCertificate() 在 Web API 中返回 null

c# - 通用类型用作更具体的通用类型

java - KeyStoreException : No private keys found in keystore with not-yet-commons-ssl-0. 3.11.jar

java - POST后使用HttpClient执行GET时出现异常