微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何提取直接的Sibnet视频url PHP

如何解决如何提取直接的Sibnet视频url PHP

我一直在寻找这个问题的解决方案,但没有得到任何解决方案。

我设法提取了mp4 URL,但问题是这个链接重定向到另一个可以在响应头中看到的URL:Location,我不知道如何获取这个URL。

Response Header(img)

<?PHP
function tidy_html($input_string) {
         
    $config = array('output-html'   => true,'indent' => true,'wrap'=> 800); 
            
    // Detect if Tidy is in configured    
    if( function_exists('tidy_get_release') ) {
        $tidy = new tidy;
        $tidy->parseString($input_string,$config,'raw');
        $tidy->cleanRepair();
        $cleaned_html  = tidy_get_output($tidy); 
        } 
    else {
        # Tidy not configured for this Server
        $cleaned_html = $input_string;
    }
    return $cleaned_html;
}

function getFromPage($webAddress,$path){
    $source = file_get_contents($webAddress); //download the page 
    $clean_source = tidy_html($source);
    $doc = new DOMDocument;

    // suppress errors
    libxml_use_internal_errors(true);

    // load the html source from a string
    $doc->loadHTML($clean_source);
    $xpath = new DOMXPath($doc);
    $data="";
    $nodelist = $xpath->query($path);
    $node_counts = $nodelist->length; // count how many nodes returned
    if ($node_counts) { // it will be true if the count is more than 0
        foreach ($nodelist as $element) {
           $data= $data.$element->nodeValue . "\n";
        }
    }
    return $data;
    
}


$vidID = 4145616; //videoid : https://video.sibnet.ru/shell.PHP?videoid=4145616

$link1 = getFromPage("https://video.sibnet.ru/shell.PHP?videoid=".$vidID,"/html/body/script[21]/text()"); // Use XPath 
$json = urldecode($link1);

$link2 = strstr($json,"player.src");

$url = substr($link2,strpos($link2,","));

$url =str_replace('"',"",$url);

$url = substr($url,18);


//header('Location: https://video.sibnet.ru'.$url);
echo ('https://video.sibnet.ru'.$url)


?>

解决方法


<?php 

$url='https://video.sibnet.ru'.$url;
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HEADER,true);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,CURLOPT_RETURNTRANSFER,true);

$a = curl_exec($ch);

$url = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL); // This is what you need,it will return you the last effective URL

$realUrl = $url; //here you go

?>

来源:https://stackoverflow.com/a/17473000/14885297

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。