C# 使用HttpClient设置GET请求的默认内容类型

C# 使用HttpClient设置GET请求的默认内容类型,c#,rest,httpclient,C#,Rest,Httpclient,如何使用HttpClient设置get请求的默认内容类型。 我读到.NET不允许它写下来,这是令人难以置信的沮丧,因为有些API需要它。我得到了 误用的标题名。确保请求头与HttpRequestMessage一起使用,响应头与HttpResponseMessage一起使用,内容头与HttpContent对象一起使用 错误,并且链接中的回复没有回答问题。 事实上,我试图使用HttpClient而不是HttpWebRequest来实现它所支持的“易用性”,但事实恰恰相反 有了HttpWebReque

如何使用HttpClient设置get请求的默认内容类型。 我读到.NET不允许它写下来,这是令人难以置信的沮丧,因为有些API需要它。我得到了

误用的标题名。确保请求头与HttpRequestMessage一起使用,响应头与HttpResponseMessage一起使用,内容头与HttpContent对象一起使用

错误,并且链接中的回复没有回答问题。

事实上,我试图使用
HttpClient
而不是
HttpWebRequest
来实现它所支持的“易用性”,但事实恰恰相反

有了HttpWebRequest,我已经实现了我想要的

HttpWebRequest request=(httpWebRequest)WebRequest.create(uri);
request.ContentType="application/json";
request.Headers.Add("customheader","blablabla");
var response=(HttpWebResponse) await request.GetResponseAsync();
非常简单!我知道默认情况下它不会设置头,但至少它允许我设置请求的内容类型

我应该停止使用HttpClient吗

(我重复实际>I<指示的“重复溶液”,该溶液不提供溶液:


Addwithoutvalidation不存在。TryAddWithoutValidation确实存在,但未设置标题(几乎所有的“解决方案”都表明这一点。“复制”中的另一个解决方案设置了Post的内容类型,但未设置Get。)

可能重复我已经写过的,链接中的回复没有回答问题。既然您提到这是一个GET请求,为什么您需要设置内容类型?通常情况下,您不会发送带有GET请求的正文。“链接中的回复不会回答问题”…这可能会帮助人们理解为什么这对您不起作用“这是我必须使用的Web Api的要求”…如果Api不希望请求中包含正文,然后我怀疑它是否会关心内容类型……在这种情况下,它不会尝试阅读任何内容。除非这是一种异常情况,GET请求与请求主体一起发送?