Php 使用访问者ip从页面中刮取url

Php 使用访问者ip从页面中刮取url,php,curl,scrape,Php,Curl,Scrape,我使用以下代码从网站为视频url制作get_file_内容: <?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) {

我使用以下代码从网站为视频url制作get_file_内容:

<?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);
    }
但当我向另一个网络“Vidhd”提出请求时 使用我的网站ip创建视频url。 所以,当我播放视频时,我得到了错误的ip!!是的,当然可以,因为url ip是与我的网站ip,而不是与我的计算机ip 我需要什么?
我需要使用访问者ip而不是服务器ip发出请求。谢谢。

从vidhd.net的角度来看,用于获取视频的ip(通过直接视频文件url)必须与请求视频的ip相同。因此,要么直接从php流式传输视频(例如,使用readfile()),要么直接从vistor的ip获取视频url(例如,通过javascript/XMLHttpRequest)

第一种方法的缺点是使用更多的带宽,因为整个视频必须下载到服务器并提供给客户端,使服务器的带宽使用量达到电影的2倍。第二种方法的缺点是,您可能会在javascript中执行此操作,除非vidhd通过显式允许CORS请求,并且根据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,谁知道呢

$ 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