Вызов REST API с именем пользователя и паролем - как

Обновить

December 2018

Просмотры

74.1k раз

30

Я новичок отдыхать API, и называя их с помощью .NET

У меня есть апи: https://sub.domain.com/api/operations?param=value¶m2=value

Примечания для апи сказать, что разрешить мне нужно использовать базовую аутентификацию доступа - как я могу сделать это?

Сейчас у меня этот код:

        WebRequest req = WebRequest.Create(@"https://sub.domain.com/api/operations?param=value&param2=value");
        req.Method = "GET";
        //req.Credentials = new NetworkCredential("username", "password");
        HttpWebResponse resp = req.GetResponse() as HttpWebResponse;

Однако я получаю 401 несанкционированную ошибку.

Что мне не хватает, как я формирую API вызовы, используя базовую авторизацию доступа?

1 ответы

46

Если API говорит использовать HTTP обычную проверку подлинности, то вам нужно добавить заголовок авторизации на ваш запрос. Я бы изменить свой код, чтобы выглядеть следующим образом:

    WebRequest req = WebRequest.Create(@"https://sub.domain.com/api/operations?param=value&param2=value");
    req.Method = "GET";
    req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("username:password"));
    //req.Credentials = new NetworkCredential("username", "password");
    HttpWebResponse resp = req.GetResponse() as HttpWebResponse;

Замена "username"и "password"с правильными значениями, конечно.

Связанные вопросы