【问题标题】:Changing a default request header for HttpClient更改 HttpClient 的默认请求标头
【发布时间】:2018-10-15 14:58:34
【问题描述】:

和我的previous question有点关系我有以下几点:

public static HttpClient client= new HttpClient();
//Basic HTTP client setup
  client.BaseAddress = new Uri(address);
  client.DefaultRequestHeaders.Add("custom_header", "MyCustomHeader");

如您所见,我设置了一个无法更改的基地址(上一个问题的问题),并设置了一个自定义标头。

我的问题是我可以稍后在代码中更改此自定义标头吗? (暂时或永久)

例如,我希望我的请求具有标题“MyCustomHeader”,但对于某些特定请求,我希望它是“MyOtherHeader”。

因此,如果有人教我 1)如果可能,我将不胜感激 2)如果可以,怎么做?

【问题讨论】:

  • 你试过什么这么胖?即向我们展示你的尝试

标签: c# dotnet-httpclient


【解决方案1】:

据我了解,您希望在运行时添加/删除此自定义标头。

您可以像下面的代码一样添加自定义标题,

client.DefaultRequestHeaders.Add("custom_header", "MyCustomHeader");

而且,您可以根据需要使用下面的代码删除标题

client.DefaultRequestHeaders.Remove("custom_header");

【讨论】:

  • 谢谢!所以如果我只想 change ,我应该删除并添加另一个值吗?
  • RequestHeader 是 KeyValuePair 并且 KeyValuePair 值属性是只读的。所以你应该删除并再次添加另一个值。
  • 这当然会永久影响默认标题,对吗? (直到变回我的意思)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-24
  • 2012-05-02
  • 2017-03-06
  • 2016-06-24
  • 2021-02-05
相关资源
最近更新 更多