@KaRToSHKa_Ex

Как получить ответ от сервера Кинопоиска?

Хочу написать приложение с поиском фильмов. Нашёл api Кинопоиска, но не очень пойму как получить ответ от сервера и как вывести любую информацию. На сайте с документацией написано
curl -X GET "https://kinopoiskapiunofficial.tech/api/v2.1/films/300" -H "accept: application/json" -H "X-API-KEY: 71c5dd47-2ab2-40d4-bb00-4974097af5b6"

В своём коде я пишу
var key = "71c5dd47-2ab2-40d4-bb00-4974097af5b6";
            var request = WebRequest.Create("https://kinopoiskapiunofficial.tech/api/v2.1/films/300");
            request.ContentType = "application/json";
            request.Headers["X-API-KEY"] =  key;
            request.Method = "POST";
            textBox1.Text = Convert.ToString(request.GetResponse());

Но при попытке вывести что-то, выдаёт ошибку 403. Похоже на то что я не могу авторизироваться на сайте по токену и отправить запрос, потому что при попытке ввести в браузере URL ошибка 401 Unauthorized. Не очень понимаю что делаю не так, поэтому прошу помощь или может какие-нибудь статьи есть по этому поводу.
  • Вопрос задан
  • 921 просмотр
Пригласить эксперта
Ответы на вопрос 1
twobomb
@twobomb
Поменяйте метод на гет
var key = "71c5dd47-2ab2-40d4-bb00-4974097af5b6";
            var request = WebRequest.Create("https://kinopoiskapiunofficial.tech/api/v2.1/films/300");
            request.ContentType = "application/json";
            request.Headers["X-API-KEY"] = key;
            request.Method = "GET";
            using (var stream  = request.GetResponse().GetResponseStream()){
                List<byte> buff = new List<byte>();
                while (true){
                    int b = stream.ReadByte();
                    if(b != -1)
                        buff.Add((byte) b);
                    else
                        break;
                }
              textBox1.Text = Encoding.UTF8.GetString(buff.ToArray());
            }

или
using (var stream = new StreamReader(request.GetResponse().GetResponseStream()))
                 textBox1.Text = = stream.ReadToEnd();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы