Имя: Пароль:
1C
1С v8
Работа с API сайта
0 Wefast
 
10.11.16
16:29
Решил я тут попробовать порабоать с API сайта. И что то я совсем не понимаю

http://api.myshows.ru/


Там есть команды.

Процедура ВыполнитьHTTPЗапрос(ПолныйАдресРесурса)
    СтруктураURI = СтруктураURI(ПолныйАдресРесурса);
    HTTPСоединение = Новый HTTPСоединение("api.myshows.ru");
    
    HTTPЗапрос = Новый HTTPЗапрос(profile/login?login=LOGIN&password=парольMD5);
    Попытка
        Результат =  HTTPСоединение.Получить(HTTPЗапрос);
        Сообщить(Результат.КодСостояния); // я залогинился, т.е. в результате код говорит о том что я залогинился
    Исключение
         Сообщить("Произошла сетевая ошибка!");
         ВызватьИсключение;
     КонецПопытки;
     HTTPЗапрос2 = Новый HTTPЗапрос("profile/episodes/check/2341?rating=5");
     Резульат2 = HTTPСоединение.Получить(HTTPЗапрос2);
    
     //а тут пишет что я не авторизован.  
    
КонецПроцедуры

Т.е. получается нужно отправлять все разом?

Пытался гуглить, но как мне кажется выдает какие то частные случаи в зависимость от сайта с которым происходит работа, что я ничего не понимаю
1 Лефмихалыч
 
10.11.16
16:38
Я не понимаю, чего ты не понимаешь и в чем вопрос
2 Serginio1
 
10.11.16
16:39
Ккууккии
3 Wefast
 
10.11.16
16:45
(1) Я не понимаю что я делаю не так. Я обращаются к сайту. Логинюсь. Отправляю еще один запрос, а он его будто заново обрабатывает и пишет что я не залогинился.

Их что вот так последовательно отправлять бестолку?
Как тогда отправить их как единой целое.
4 Serginio1
 
10.11.16
16:50
А Cooki кто передавать будет?
v8: HTTPСоединение и POST авторизация
5 Лефмихалыч
 
10.11.16
16:53
(3) у меня твой код работает
6 Лефмихалыч
 
10.11.16
16:53
хотя нет - показалось. Тоже 401
7 Wefast
 
10.11.16
17:00
(4) попытался я указать 3 параметр в Получить() в виде структуры с куками из ответа, но все так же.

     GETЗаголовки = Новый Соответствие();
     GETЗаголовки.Вставить("Cookie", Результат.Заголовки["Set-Cookie"]);    
     GETЗаголовки.Вставить("Connection", "keep-alive");
    
     HTTPЗапрос2 = Новый HTTPЗапрос("profile/");
     Результат2 = HTTPСоединение.Получить(HTTPЗапрос2,,GETЗаголовки);
8 Wefast
 
10.11.16
17:13
GETЗаголовки = Новый Соответствие();
     GETЗаголовки.Вставить("Cookie", Результат.Заголовки["Set-Cookie"]);    
     GETЗаголовки.Вставить("Connection", "keep-alive");
    
     HTTPЗапрос2 = Новый HTTPЗапрос("profile/",GETЗаголовки);
     Результат2 = HTTPСоединение.Получить(HTTPЗапрос2);

Вот так заработало
9 Wefast
 
10.11.16
17:13
Теперь осталось с JSON разобраться
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший