Вид странного вопроса.
Из видеосайта 4shared я получаю код встраивания следующим образом:
<embed src="http://www.4shared.com/embed/436595676/acfa8f75" width="420" height="320" allowfullscreen="true" allowscriptaccess="always"></embed>
Теперь, если я получаю доступ к URL-адресу в этом встроенном src, видео загружается и URL-адрес страницы изменяется с информацией о видео.
Мне интересно, есть ли способ получить доступ к этой информации с помощью PHP? Я попробовал file_get_contents, но это дает мне много странных символов.
Итак, могу ли я использовать PHP для загрузки встраиваемого URL-адреса и получения информации в адресной строке?
Спасибо за вашу помощь! 🙂
Да, например, с curl- библиотекой php. Он будет обрабатывать перенаправленные заголовки с сервера, что приведет к новому / реальному URL-адресу видео.
Вот пример кода:
<?php // create a new cURL resource $ch = curl_init(); // set URL and other appropriate options curl_setopt($ch, CURLOPT_URL, "http://www.4shared.com/embed/436595676/acfa8f75"); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); // we want to further handle the content, so return it curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // grab URL and pass it to the browser $result = curl_exec($ch); // did we get a good result? if (!$result) die ("error getting url"); // if we got a redirection http-code, split the content in // lines and search for the Location-header. $location = null; if ((int)(curl_getinfo($ch, CURLINFO_HTTP_CODE)/100) == 3) { $lines = explode("\n", $result); foreach ($lines as $line) { list($head, $value) = explode(":", $line, 2); if ($head == 'Location') { $location = trim($value); break; } } } if ($location == null) die("no redirect found in header"); // close cURL resource, and free up system resources curl_close($ch); // your location is now in here. var_dump($location); ?>