Мне нужно вызвать клиентский API-HTTPS (GET) с некоторыми конкретными заголовками
Accept:application/json,application/vnd.error+json
Date:2018-10-03T06:52:48Z
Authorization:<SECRETKEY>
В этом сценарии, когда я пытаюсь вызвать его из клиента, как Почтальон или Расширенный REST клиент , API дают правильный результат.Но то же самое я попробовал с кодом C #, который генерирует 401-Unauthorized errorcode.
Например, если я использую код почтальона для RestSharp (C #).Это не будет работать из моего кода.Скриншот почтальона:
Даже я пытался сделать то же самое с HttpWebRequest и HttpClient тоже.Но не повезло.
Код, который почтальон предоставил из кодовой секции , как показано ниже, с некоторой конфиденциальной информацией, которую я не могу раскрыть.
var client = new RestClient("https://**CLIENT_API_PATH**");
var request = new RestRequest(Method.GET);
request.AddHeader("Postman-Token", "ef8c2a79-a501-4cef-aa2e-bacdc9d3a922");
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "**SECRET_KEY**");
request.AddHeader("Date", "2018-10-03T06:52:48Z");
request.AddHeader("Accept", "application/json,application/vnd.error+json");
IRestResponse response = client.Execute(request);
В приведенном выше коде 3параметры являются обязательными и должны быть переданы для успешного вызова API.
Дата только с указанным выше форматом.
Принять только с вышеуказанной строкой.
Авторизация с определенной аутентификацией (настраивается клиентом).
В соответствии с предлагаемым комментарием я также добавляю данные фиддлера из звонка.
- Получение запроса почтальона из фиддлера скриншот фиддлера
- Запрос кода вызова API C #от fiddler скриншот fiddler
- Результат отладки кода C # скриншот отладки visual studio