更改 HttpClient 的默认请求头

6
有点和我的之前的问题相关,我有以下内容:
public static HttpClient client= new HttpClient();
//Basic HTTP client setup
  client.BaseAddress = new Uri(address);
  client.DefaultRequestHeaders.Add("custom_header", "MyCustomHeader");

如您所见,我设置了一个基本地址(前一个问题的内容),我无法更改它,并且我设置了一个自定义头部。
我的问题是,我能否在代码中稍后更改这个自定义头部(临时或永久)?
例如,我希望我的请求具有头部“MyCustomHeader”,但对于某些特定的请求,我希望它变成“MyOtherHeader”。
这是否可能,如果可能的话,我该如何做到?

你尝试过什么了吗?比如展示一下你的尝试。 - jazb
1个回答

9
据我了解,您希望在运行时添加/删除此自定义头。 您可以像下面的代码一样添加自定义标头:
client.DefaultRequestHeaders.Add("custom_header", "MyCustomHeader");

此外,您可以使用以下代码在需要时删除标题:

client.DefaultRequestHeaders.Remove("custom_header");

谢谢!所以如果我只想“更改”,我应该删除并添加另一个值吗? - KansaiRobot
2
RequestHeader 是一个键值对(KeyValuePair),而且 KeyValuePair 的 Value 属性是只读的。所以你应该先移除该键值对,然后再用另一个值添加进去。 - Onur Tekir
1
当然,这将永久影响默认标题,是吗?(我是指直到再次更改) - KansaiRobot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接