Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 09:33

Чтение и запись JSON с веб сервиса

Автор vany_siman, 18 ноя 2019, 19:31

0 Пользователей и 1 гость просматривают эту тему.

vany_siman

Здравствуйте, мне срочна нужна помощь по решению данной проблемы, дело в том,вроде из разных форумах собрал такой код, а все равно ошибки, либо ошибка сервера 404, либо 301. Просто нужно получить с этого сайта файлик JSON с покемонами, и желательно записать его в справочник покемоны. Со вторым постараюсь и сам разобраться,но эти ошибки при соединение достали уже. Сегодня уже дедлайн((((Пожалуйста

&НаСервере
Процедура ПрочитатьАдресНаСервере()
      сайт = "pokeapi.co/api/v2";
      хСоединение =    Новый HTTPСоединение(Сайт,443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
      хОтвет = хСоединение.ВызватьHTTPМетод("GET",новый HTTPЗапрос("pokemon"));

            Если хОтвет.КодСостояния <> 200 Тогда
               #ЕСЛИ КЛИЕНТ ТОГДА
                  Сообщить("Ошибка. Код ответа " + хОтвет.КодСостояния);
               #КОНЕЦЕСЛИ
                  Возврат;
            КонецЕсли;

      СтрокаОтвета = хОтвет.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
      Чтение       =   Новый ЧтениеJSON;
      Чтение.УстановитьСтроку(СтрокаОтвета);
      Покемоны = ПрочитатьJSON(Чтение,Истина);      
      
КонецПроцедуры

SanRe

Вот так работает:
/////////////////
Процедура ПрочитатьНаСервере()
   // HTTPЗапрос.Заголовки.Вставить("Content-type", "application/json");
   сайт = "pokeapi.co";
   хСоединение =    Новый HTTPСоединение(Сайт,443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
   Запрос = новый HTTPЗапрос("/api/v2/pokemon");
   хОтвет = хСоединение.ВызватьHTTPМетод("GET",Запрос);
   
   Если хОтвет.КодСостояния <> 200 Тогда
      #ЕСЛИ КЛИЕНТ ТОГДА
         Сообщить("Ошибка. Код ответа " + хОтвет.КодСостояния);
      #КОНЕЦЕСЛИ
      Возврат;
   КонецЕсли;
   
   СтрокаОтвета = хОтвет.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
   Чтение       =   Новый ЧтениеJSON;
   Чтение.УстановитьСтроку(СтрокаОтвета);
   Покемоны = ПрочитатьJSON(Чтение,Истина);
   МассивРезультатов = Покемоны["results"];
   Для каждого Элемент Из МассивРезультатов Цикл
      Сообщить("Имя: "+Элемент["name"]);
   КонецЦикла;
КонецПроцедуры
///////////////////////

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск