Очистить URL-адрес со страницы, используя IP-адрес посетителя

Я делаю get_file_contents для URL-адреса видео с веб-сайта с помощью этого кода:

<?php $get = file_get_contents("https://vidhd.net/embed-bc3c7z8e8pmt.html");
    $regex = '/(https|http)[^"]*(? = ",label)/';
    if (preg_match_all($regex, $get, $allurlget)){
     foreach($allurlget[0] as $getlist) {
          $TakeJsonToList[] = $getlist;}
           if (count($TakeJsonToList) == 3){
               $Makejson =  array ('p720' => $TakeJsonToList[0],
                                    'p480' => $TakeJsonToList[1],
                                    'p360' => $TakeJsonToList[2]);
          }else if (count($TakeJsonToList) == 2){
               $Makejson =  array ('p720' => $TakeJsonToList[0],
                                    'p480' => $TakeJsonToList[1]);
          }else{
               $Makejson =  array ('p720' => $TakeJsonToList[0]);
          }
    echo json_encode($Makejson);}
        else{
            $filenotfound = 'Url Not Found';
            $error = json_encode(array('error'=> $filenotfound));
        echo ($error);
    }

теперь я беру вывод как json Вот так:

{"p720":"https://s4.vidhd.net/kmxssvaapjumwmesrlvuyy72hjmxnedreq2ahr5kil6qqt373orzkuun4ccq/v.mp4","p480":"https://s4.vidhd.net/kmxssvaapjumwmesrlvuyy72hjmxnedreq2ahr5kiriqqt373or7r273xqrq/v.mp4"}

но когда я делаю запрос, другой веб-сайт "Vidhd" сделать URL-адрес видео с моим IP-адресом сайта. поэтому, когда я проигрываю видео, я получаю неправильный IP !! да, конечно, потому что URL-адрес с IP-адресом моего веб-сайта не с IP-адресом моего компьютера Что мне нужно ? Мне нужно сделать запрос с IP-адресом посетителя, а не с IP-адресом сервера. Спасибо.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
94
1

Ответы 1

с точки зрения vidhd.net, IP-адрес, используемый для получения видео (через прямой URL-адрес видеофайла), должен быть тем же IP-адресом, который запрашивал видео. поэтому либо транслируйте видео прямо с php (например, с помощью readfile ()), либо получите URL-адрес видео непосредственно с ip-адреса посетителя (например, через javascript / XMLHttpRequest)

У первого метода есть обратная сторона - использование большей пропускной способности, так как все видео должно быть загружено на ваш сервер и передано клиенту, в результате чего использование пропускной способности вашего сервера составляет 2 * размера фильма. Обратной стороной второго метода является то, что вы, вероятно, столкнетесь с Ограничения CORS, выполняющим это из javascript, если только vidhd явно не разрешает запросы CORS через Заголовки CORS-Allow, а, согласно curl, они этого не делают:

$ curl -I https://vidhd.net/embed-bc3c7z8e8pmt.html
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 31 May 2018 13:25:56 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Expires: Wed, 30 May 2018 13:25:56 GMT
X-frame-options: 1
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block

хотя вы могли бы просто использовать iframe, если они не блокируют iframe, кто знает.

Другие вопросы по теме