C# 如何设置默认标题";“授权”;有价值

C# 如何设置默认标题";“授权”;有价值,c#,.net,set,authorization,httpclient,C#,.net,Set,Authorization,Httpclient,我有一个访问RESTAPI端点的HttpClient。对于这个http请求,我必须将头“Authorization”设置为值“ABCDE”。我已经尝试了几种方法,并通过“错误设置HttpHeader:Authorization:”解决了它的错误 第一行错误(Client.DefaultRequestHeaders.Add(“Authorization”,Authorization);): 第二行错误(Client.DefaultRequestHeaders.Authorization=newau

我有一个访问RESTAPI端点的HttpClient。对于这个http请求,我必须将头“Authorization”设置为值“ABCDE”。我已经尝试了几种方法,并通过“错误设置HttpHeader:Authorization:”解决了它的错误

第一行错误(Client.DefaultRequestHeaders.Add(“Authorization”,Authorization);):

第二行错误(Client.DefaultRequestHeaders.Authorization=newauthenticationheadervalue(“,Authorization);):

两行代码都在抛出错误。我错过什么了吗

谢谢你的帮助 新罕布什尔州


我找到了另一种没有验证的方法tryadd。 这个很好用

Client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", authorization); 
试试这个:

httpRequest.Headers.Add("Authorization", "ABCDE");

“两行代码都在抛出错误。”--什么错误?粘贴它们,包括堆栈跟踪。我在代码中使用静态HttpClient。根据我的理解,如果我使用DefaultRequestHeaders,所有httpclient请求都将具有相同的头。如果我同意你的建议,我会为每个请求设置标题。嗨!虽然这可能会提供答案,但通常不鼓励在StackOverflow中只保留代码答案。请解释为什么这是一个解决方案,因为它将帮助OP和未来的访问者。谢谢
public class ImplementedHttpClient : BaseHttpClient
{
        public void SetAuthorizationHeader(string authorization)
        {            
            //Client.DefaultRequestHeaders.Add("Authorization", authorization);            
            Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("", authorization);
        }

        public void SetContentType(string contentType)
        {
            Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(contentType));
        }
}
Client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", authorization); 
httpRequest.Headers.Add("Authorization", "ABCDE");