Я пытаюсь получить информацию от конечной точки REST, для которой требуется обычная проверка подлинности. Используя почтальон, я в порядке, получая нужную мне информацию от звонка:
GET endpoint/api/workitems?ids=20449& api-version=2.0 HTTP/1.1
Host: xxx.xxx.xxx.50:8080
Authorization: Basic ABC==,Basic ZZZ cache-control: no-cache
Postman-Token: e6476d89-ec2b-439d-8821-88ef446a03a9
Когда я делаю то же самое с restsharp, я получаю несанкционированную ошибку:
var client = new RestClient("http://xxx.xxx.xxx.50:8080/endpoint/api/workitems?ids=20449& api-version=2.0");
var request = new RestRequest(Method.GET);
request.AddHeader("Postman-Token", "06ea7553-d35e-4743-a516-201d6e3b9084");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Authorization", "Basic ABC==,Basic ZZZ");
IRestResponse response = client.Execute(request);
Я что-то упускаю?
Спасибо
@TobiasTenglerЯ думаю, что Почтальон-Жетон не имел значения, но, вероятно, двойной основной был проблемой. Я ответил себе рабочим решением





В конце концов я обнаружил, что правильный способ выполнить базовую аутентификацию с помощью restsharp заключается в следующем.
Оно работает:
var client = new RestClient("http://xxx.xxx.xxx.50:8080/endpoint/api/workitems?ids=20449& api-version=2.0");
client.Authenticator = new HttpBasicAuthenticator(username, decodedToken);
var request = new RestRequest(Method.GET);
request.AddHeader("Postman-Token", "06ea7553-d35e-4743-a516-201d6e3b9084");
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);
Вам не нужен
Postman-Token-Header, и ваш заголовок авторизации кажется мне неправильным, я считаю, что он может содержать только одинBasic, напримерBasic ABC==, но я не уверен в этом, просто не видел, чтобы это делалось раньше. .