C# .NET 使用HttpClient,以及自定义Header中存在特殊字符的处理方式

发布时间 2023-08-21 09:07:49作者: 六月Talk

  平常我们在使用HttpClient时,只需要创建加上设置调用接口地址就可以使用了,比如:

HttpClient httpClient = httpClientFactory.CreateClient();
httpClient.BaseAddress = new Uri(接口地址);

httpClient.PostAsync(接口方法, HttpContent);

  但是,在自定义Header时,如果有特殊字符,需要注意一下,正常的添加Header的方式如下:

httpClient.DefaultRequestHeaders.Add(自定义名称, 自定义内容);

当出现特殊字符,如空格、+等字符时,需要用到TryAddWithoutValidation的方法:

httpClient.DefaultRequestHeaders.TryAddWithoutValidation(自定义名称, 自定义内容);

 

如此使用,可以使特殊字符不转义,接收方能正确接受到传过去的数据。