1 (2018.12.16 17:11:37 отредактировано smsbox3)

Тема: Получение данных из фрейма

Непонятная проблемка у меня.
Есть на сайте ссылки такого вида

 http://hdgo.cc/content/base/video.playlist.php?id=4545

Там плеер.
Хочу вытащить ссылку на видео, а для этого надо получить содержимое этого плеера -  вытащить вот это

<iframe src="http://hdgo.cc/video/t/cbdhlx51b5ehwqnj1gljuysa/275934/" width="610" height="370" border="0" frameborder="0" allowfullscreen></iframe>

Проблема в том, что при попытке чтения с адрес http://hdgo.cc/content/base/video.playlist.php?id=4545 загружается сообщение "Видео недоступно для просмотра.", а совсем не содержимое из которого я бы вытащил ссылку http://hdgo.cc/video/t/cbdhlx51b5ehwqnj1gljuysa/275934/ .

Вероятно они анализируют из фрейма идет запрос или непрямую, но я понятия не имею как это обойти?
Для иллюстрации вот из хрома последовательно открываю фреймы до прямой ссылки на видео
https://a.radikal.ru/a04/1812/1e/7c44724f3eec.jpg

2

Re: Получение данных из фрейма

Очевидно же. Они смотрят http headers.
Т.е. программно вы должны при загрузке фрейма передавать правильные заголовки: Referer, Origin и может быть другие.
В том же хроме нужно посмотреть, какие заголовки передаются при запросе страницы - и попытаться полностью их повторить.

Sony Bravia KDL-32CX523

3

Re: Получение данных из фрейма

WendyH пишет:

вы должны при загрузке фрейма передавать правильные заголовки: Referer, Origin и может быть другие.

Спасибо за ответ. Ссылку http://hdgo.cc/content/base/video.playlist.php?id=4545 я вставляю в ваш moontest и она играет. Выходит Referer, Origin на это не влияют. Может быть куки какие-то сохранились от просмотра сайта, а когда с сервера делаю обращения их у меня нет. Хром показывать

Cache-Control: max-age=0
Connection: keep-alive
Cookie: _ga=GA1.2.1319316884.1532954235; __cfduid=d3c3d53aa96b259ed78eb8cd64f2f9e3e1537525099; _gid=GA1.2.1256910666.1541536558


Но я не понимаю, что это означает.

4

Re: Получение данных из фрейма

Но я не понимаю, что это означает.

Я в личку написал возможно поможет?

Отладка кода — это как охота. Только охота, на баги.
Спасибо сказали: smsbox31

5

Re: Получение данных из фрейма

smsbox3 пишет:

Спасибо за ответ. Ссылку http://hdgo.cc/content/base/video.playlist.php?id=4545 я вставляю в ваш moontest и она играет. Выходит Referer, Origin на это не влияют.

Если ссылка отдаёт разный результат по прямому открытию и в iframe - то значит влияют. Как минимум - Referer.

Не понятно на каком языке вы делаете, но на php очень простой тест можете сделать.

Вот такой код отдаст сообщение о недоступности видео:

<?php

$url = 'http://hdgo.cc/content/base/video.playlist.php?id=4545';

$html = file_get_contents($url);

echo $html;

А вот такой отдаст полноценный код с плеером:

<?php

$url = 'http://hdgo.cc/content/base/video.playlist.php?id=4545';

$opts = array('http'=>array('method'=>"GET", 'header'=>"Referer: http://blabla.com/\r\n"));
$context = stream_context_create($opts);

$html = file_get_contents($url, false, $context);

echo $html;

Это стандартное ограничение - только встроенное видео.

Sony Bravia KDL-32CX523
Спасибо сказали: smsbox31

6

Re: Получение данных из фрейма

WendyH пишет:

Не понятно на каком языке вы делаете, но на php очень простой тест можете сделать.

WendyH, я ему на php, скрипт написал.

Отладка кода — это как охота. Только охота, на баги.
Спасибо сказали: smsbox31