Как установить заголовок по умолчанию «Авторизация» в значение - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть HttpClient, который обращается к конечной точке api rest. Для этого http-запроса я должен установить заголовок «Авторизация» на значение «ABCDE». Я пробовал пару способов и его ошибка с "Ошибка установки HttpHeader: Авторизация:"

Ошибка первой строки (Client.DefaultRequestHeaders.Add («Авторизация», авторизация);):

2019-04-05 10:42:36.824: Error Setting HttpHeader: Authorization:

2019-04-05 10:42:36.854:    at System.Net.Http.Headers.HttpHeaderParser.ParseValue(String value, Object storeValue, Int32& index)
   at System.Net.Http.Headers.HttpHeaders.ParseAndAddValue(String name, HeaderStoreItemInfo info, String value)
   at System.Net.Http.Headers.HttpHeaders.Add(String name, String value)
   at ETICreditCardProcessorService.ImplementedHttpClient.SetAuthorizationHeader(String authorization) in BaseHttpClient.cs:line 66

Ошибка второй строки (Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue ("", авторизация);):

2019-04-05 10:58:01.872: Error Setting HttpHeader: Authorization:

2019-04-05 10:58:01.872:    at System.Net.Http.Headers.HeaderUtilities.CheckValidToken(String value, String parameterName)
   at System.Net.Http.Headers.AuthenticationHeaderValue..ctor(String scheme, String parameter)
   at ETICreditCardProcessorService.ImplementedHttpClient.SetAuthorizationHeader(String authorization) in BaseHttpClient.cs:line 67

Обе строки кода выдают ошибки. Я что-то упустил?

Спасибо за любую помощь NH

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));
        }
}

Ответы [ 2 ]

1 голос
/ 05 апреля 2019

Я нашел другой метод TryAddWithoutValidation.Это отлично работает.

Client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", authorization); 
0 голосов
/ 05 апреля 2019

попробуйте это:

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