2010-07-24 3 views
0

Я пытаюсь создать плагин WDTV Live в Linux, который воспроизводит видео с веб-url.Как создать сеанс на сервере в PHP?

У меня есть URL-адрес, который анализируется из исходного кода html. Проблема в том, что URL-адрес воспроизводится в XBMC, но он не может воспроизводиться во всех медиаплеерах. Я проверил журнал xbmc, и похоже, что XBMC создает сеанс для URL-адреса фильма. Ниже приведен журнал из файла журнала XBMC.

INFO: XCURL::DllLibCurlGlobal::easy_aquire - Created session to http://121.125.77.146 
DEBUG: CPlayerCoreFactory::GetPlayers(http://121.125.77.146/cgi-bin/sbview.cgi?systype=10000&subtype=4&id0=17678&id1=27635&id2=368507&id3=285792&nodeid=3071517&userno=0&userid=&level=1&part=0&ispay=0&mkey=2bd5454e93890a8ae2fe76948764a2d6&skey=5176153017445b5b79f897eec711996b&dummy=1279941981&title=%5bStar2Gether%5d%20%c0%cc%ba%a5%c6%ae%c0%fc_1%ba%ce&impurl=&TVINFO=10000,4,17678,27635,368507,285792,) 

Возможно ли, что XBMC делает на PHP? Благодаря

ответ

0

Не знаю, как вы собираетесь работать с ним, но создания переменной сеанса в PHP выходит что-то вроде этого:

session_start(); 

$_SESSION['var_name'] = 'session value/variable here'; 

Теперь вы можете получить доступ к $_SESSION['var_name'] на любой странице при условии, что вы положили session_start() на странице где вы используете эту переменную сеанса.

Обратите внимание, что вы можете удалить/снять сеанс так:

session_start(); 
unset($_SESSION['var_name']); 
session_destroy(); 
+0

Когда вы напрямую обращаетесь к URL-адресу, вы получаете сообщение об ошибке 403 с ошибкой. Somehomw, XBMC создает сеанс на сервере, а затем открывает URL-адрес без проблем. Я хотел бы знать, как XBMC создает сеанс на URL-адресе. – Moon

1

Добавление в ответ Sac, вы должны будете также внедрить систему аутентификации, если вы хотите только один медиа-плеер, чтобы использовать его, вроде как Netflix. AFAIK, Netflix генерирует ключ, хранящийся в вашем реестре, который идентифицирует ваш компьютер и использует этот ключ для доступа к серверам Netflix. Я предполагаю, что XBMC имеет аналогичную реализацию, где он генерирует ключ, сохраняет его где-то и использует этот ключ в качестве идентификатора сеанса.

Из URL вы данное, есть два параметра, где я видел ключи, аналогичные ключи я объяснил выше: «MKEY = 2bd5454e93890a8ae2fe76948764a2d6 & SKEY = 5176153017445b5b79f897eec711996b» Эти ключи передаются через строку запроса (все, что в? URL), которые могут идентифицировать ваш XBMC.

Для того, чтобы воспроизвести это, вы на самом деле не нужны PHP сессии, например:

session_start(); 
$_SESSION['session_key'] = $_REQUEST['session_key']; // Use either $_GET or $_POST in production 
if($_SESSION['session_key'] == "the_super_secret_key") { /* play video */ } 

Это очень грубый пример, но вы можете лишить сессии в целом, потому что вы используете вызовы API. the_super_secret_key также может быть извлечен из базы данных в соответствии с переданным сеансовым ключом.

+0

На самом деле я передал эти ключи и скины XBMC. XBMC сделал все остальное. Мне действительно интересно, что именно делает XBMC. Я googled класс DllLibCurlGlobal, но не нашел никакой полезной информации. – Moon

+0

Ну, это ударит мою теорию. Я никогда раньше не использовал XBMC, но URL-адрес выглядит как вызов API: http://en.wikipedia.org/wiki/Application_programming_interface –

+0

// действительно, URL-адрес выглядит как API. Мне действительно интересно, как класс DllLibCurlGlobal делает сеанс на сервере url. Я буду исследовать его. Спасибо за ваш вклад! – Moon

Смежные вопросы