Re: Tree.TV (2017.04.19)
а как с плейлистом на сериалы быть?
Не, этот метод только для получения потока конкретной серии (у них тоже свой id). Список серий получать можно и по id самого сериала, но тогда парсить json для этого нужно.
а если указать их в статистике и не менять, не прокатит? обязательно каждый раз новые?
мне казалось, что главное, чтобы они во всех запросах совпадали...
Точно не знаю, но без них у меня не получилось. Значение куки UserEnter похоже на timestamp и переустанавливается не каждый раз. А значение в куках key устанавливается всегда разным при просмотре разных серий сериала даже с сайта и может быть зависит от запрашиваемого id (и бог знает от чего ещё). Да и так просто более надёжней - делать всё как будто мы с сайта смотрим. Чтобы там (на сервере) ни о чём не догадались. )
значит не правильно понял принцип... я решил, что запрос один раз для получения p g, потом второй раз для s_key... после sck посчитал и получил ссылку в следующем запросе...
Я сам его не понял ещё. Но подозреваю, что два раза делать приходится из-за их алгоритма формирования s_key в ответе. Чтобы правильно посчитать skc нужно заранее знать некоторые параметры. Поэтому делается один запрос и потом второй со скорректированными p и g.
У себя в скрипте я тоже побоялся делать рекурсию. Там в javascript у них проверка, если после запроса в ответе p и g не совпадают с нашими отправленными - делать по циклу (вызывает свою функцию опять) - пока не совпадут.
Но по сути, после корректировки и запроса со второго раза в ответе те же самые p и g, что и при запросе. Только s_key отличается. Так что двух раз всегда достаточно. Но мало ли что у них там с сервером будет. А с первого раза будет только когда по какому-то стечению - в ответе будут равны значения с установленными изначально в скрипте.
Я даже проверку сделал немного не такую как у них. Там у них - проверка: если p И g не совпадает, то они их переустанавливают. Мне показалось это ошибкой и я сделал условие: если p ИЛИ g не совпадает. Ибо это правильней и s_key и skc зависит от обоих параметров.
http://player.tree.tv/js/app.js
Функция initMainModule и sendCheckParams.