C#如何将标头参数添加到HTTPCLIENT对象

时间:2017-04-06 15:12:50

标签: c# api httpclient

C#如何将标头参数添加到HTTPCLIENT对象 后人屏幕截图:A screen shot of POST-MAN which I'm capable of doing there

我也尝试了以下代码片段,但没有用。

HttpClient _client = new HttpClient { BaseAddress = new Uri(ServiceBaseURL) };
_client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
_client.DefaultRequestHeaders.TryAddWithoutValidation("Param1", "Value1");
_client.DefaultRequestHeaders.TryAddWithoutValidation("Param2", "Value2");
_client.DefaultRequestHeaders.TryAddWithoutValidation("Param3", "Value3");

期待寻求帮助。我非常感谢你的帮助。

再次感谢 纳尼

2 个答案:

答案 0 :(得分:4)

我认为你想要常规DefaultRequestHeaders属性而不是Accept属性:

_client.DefaultRequestHeaders.Add("Param1", "Value1");

您还可以将标题添加为邮件的一部分(如果这些参数按照请求更改,则使用此方式):

using (var message = new HttpRequestMessage(HttpMethod.Post, "/someendpoint"))
{
    message.Headers.Add("Param1", "Value1");
}

答案 1 :(得分:0)

我认为标题参数是我的代码问题的根本原因。这些方式对我有用

_client.DefaultRequestHeaders.TryAddWithoutValidation("Param1", "Value1"); _client.DefaultRequestHeaders.Add("Param1", "Value1");

再次感谢@maccettura