Home Backend Development PHP Tutorial 解析获取优酷视频真实下载地址的PHP源代码_php技巧

解析获取优酷视频真实下载地址的PHP源代码_php技巧

May 17, 2016 am 08:58 AM
Youku video Obtain

复制代码 代码如下:

//--调用方法/demo.php?url=http://v.youku.com/v_show/id_XMzkyODA2NTEy.html
echo getYoukuFlv($_GET['url']);

function getYoukuFlv($url){
    preg_match("#id_(.*?)\.html#",$url,$out);
    $id=$out[1];
    $content=get_curl_contents('http://v.youku.com/player/getPlayList/VideoIDS/'.$id);
    $data=json_decode($content);
    foreach($data->data[0]->streamfileids AS $k=>$v){
    $sid=getSid();
    $fileid=getfileid($v,$data->data[0]->seed);
    $one=($data->data[0]->segs->$k);
    if($k == 'flv' || $k == 'mp4') return "http://f.youku.com/player/getFlvPath/sid/{$sid}_00/st/{$k}/fileid/{$fileid}?K={$one[0]->k}";
    continue;
    }

function get_curl_contents($url, $second = 5){
    if(!function_exists('curl_init')) die('php.ini未开启php_curl.dll');
    $c = curl_init();
    curl_setopt($c,CURLOPT_URL,$url);
    $UserAgent=$_SERVER['HTTP_USER_AGENT'];
    curl_setopt($c,CURLOPT_USERAGENT,$UserAgent);
    curl_setopt($c,CURLOPT_HEADER,0);
    curl_setopt($c,CURLOPT_TIMEOUT,$second);
    curl_setopt($c,CURLOPT_RETURNTRANSFER, true);
    $cnt = curl_exec($c);
    $cnt=mb_check_encoding($cnt,'utf-8')?iconv('gbk','utf-8//IGNORE',$cnt):$cnt; //字符编码转换
    curl_close($c);
    return $cnt;
}
function getSid() {
    $sid = time().(rand(0,9000)+10000);
    return $sid;
}
function getkey($key1,$key2){
    $a = hexdec($key1);
    $b = $a ^ 0xA55AA5A5;
    $b = dechex($b);
    return $key2.$b;
}
function getfileid($fileId,$seed) {
    $mixed = getMixString($seed);
    $ids = explode("*",$fileId);
    unset($ids[count($ids)-1]);
    $realId = "";
    for ($i=0;$i     $idx = $ids[$i];
    $realId .= substr($mixed,$idx,1);
    }
    return $realId;
}
function getMixString($seed) {
    $mixed = "";
    $source = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/\\:._-1234567890";
    $len = strlen($source);
    for($i=0;$i    $seed = ($seed * 211 + 30031) % 65536;
    $index = ($seed / 65536 * strlen($source));
    $c = substr($source,$index,1);
    $mixed .= $c;
    $source = str_replace($c, "",$source);
    }
    return $mixed;
}
?>
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to get file extension in Python? How to get file extension in Python? Sep 08, 2023 pm 01:53 PM

A file extension in Python is a suffix appended to the end of a file name to indicate the format or type of the file. It usually consists of three or four characters, a file name followed by a period, such as ".txt" or ".py". Operating systems and programs use file extensions to determine what type of file it is and how it should be processed. Recognized as a plain text file. File extensions in Python are crucial when reading or writing files because it establishes the file format and the best way to read and write data. For example, the ".csv" file extension is the extension used when reading CSV files, and the csv module is used to process the files. Algorithm for obtaining file extension in Python. Manipulate file name string in Python.

Youku members can log in to several devices Youku members can log in to several devices Mar 20, 2024 pm 02:48 PM

Youku members can log in to up to 5 devices, but can only watch on 2 devices at the same time. If the device limit is exceeded, membership benefits will be temporarily unavailable. Therefore, users need to control the number of logged-in devices to no more than 5 to avoid being squeezed offline by other devices.

How to cancel the continuous monthly subscription on Youku Video How to cancel the continuous monthly subscription on Youku Video Mar 20, 2024 pm 03:07 PM

You can cancel the continuous monthly subscription of Youku Video through the following steps: Enter the personal center, click "Member Center" and "Automatic Renewal", and then select "Cancel Automatic Renewal" to complete the cancellation operation. The system will prompt that the cancellation is successful, and no fees will be deducted after the membership expires.

How to turn off automatic renewal for Youku's continuous monthly subscription How to turn off automatic renewal for Youku's continuous monthly subscription Mar 20, 2024 pm 03:00 PM

Tutorial for turning off automatic renewal of Youku's continuous monthly subscription: Open Youku App, enter the Personal Center, click "Member Center" and "Automatic Renewal", then click the "Cancel Automatic Renewal" button in the upper right corner, and then select "Yes" to cancel automatic renewal.

Where to get Google security code Where to get Google security code Mar 30, 2024 am 11:11 AM

Google Authenticator is a tool used to protect the security of user accounts, and its key is important information used to generate dynamic verification codes. If you forget the key of Google Authenticator and can only verify it through the security code, then the editor of this website will bring you a detailed introduction on where to get the Google security code. I hope it can help you. If you want to know more Users please continue reading below! First open the phone settings and enter the settings page. Scroll down the page and find Google. Go to the Google page and click on Google Account. Enter the account page and click View under the verification code. Enter your password or use your fingerprint to verify your identity. Obtain a Google security code and use the security code to verify your Google identity.

How to get the last element of LinkedHashSet in Java? How to get the last element of LinkedHashSet in Java? Aug 27, 2023 pm 08:45 PM

Retrieving the last element from a LinkedHashSet in Java means retrieving the last element in its collection. Although Java has no built-in method to help retrieve the last item in LinkedHashSets, there are several effective techniques that provide flexibility and convenience to efficiently retrieve this last element without breaking the insertion order - a must for Java developers issues effectively addressed in its application. By effectively applying these strategies in their software projects, they can achieve the best solution for this requirement LinkedHashSetLinkedHashSet is an efficient data structure in Java that combines HashSet and

Youku Video can be logged into several devices Youku Video can be logged into several devices Mar 22, 2024 pm 01:45 PM

The same VIP account of Youku Video can be logged in on up to 5 devices, but can only be viewed on 2 devices at the same time. If a third device is watching at the same time, VIP rights will be temporarily invalidated. Users need to control the number of logged-in devices to no more than 5, otherwise other devices will be squeezed offline.

How to change avatar in Garena How to change avatar in Garena Method tutorial How to change avatar in Garena How to change avatar in Garena Method tutorial Sep 21, 2024 pm 03:20 PM

How to change Garena's avatar? It’s actually very simple. Let me show you how to modify the avatar in Garena. First we open the software, then select the avatar box above, click it, and in the drop-down box that pops up, select Change Avatar. At this time, our optional avatar box will pop up, where we can choose the avatar we like. Next, we select Save below to save the avatar. If we want to set a custom avatar, we can click Upload in the avatar settings window, then select Load avatar, and then select the picture we want to set. When we finish uploading, click Save to modify the avatar.

See all articles