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

代码如下:
<?php
//--调用方法/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 < count($ids);++$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< $len;++$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;
}
?>

时间: 2024-11-03 06:56:33

解析获取优酷视频真实下载地址的PHP源代码的相关文章

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

复制代码 代码如下: <?php //--调用方法/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('

如何用java程序获取优酷视频的真实地址,可以下载的?

问题描述 如何用java程序获取优酷视频的真实地址,可以下载的? 求大神指教,怎样用java代码实现获取优酷视频下载的链接地址,万分感谢 解决方案 获取优酷视频地址方法

java-如何获取优酷的真实地址,可以下载的?

问题描述 如何获取优酷的真实地址,可以下载的? 用java代码实现的,获取优酷下载链接的方法,以前的不能用了,现在只知道http://play.youku.com/play/get.json?vid=XMTQzMDUwMzQxNg==&ct=10这样一条链接可以获得有用的参数,求大神指点 解决方案 优酷真实下载地址获取 解决方案二: 怎么没人回答了?求大神啊!!!

优酷视频真实地址解析问题

问题描述 优酷视频真实地址解析问题 做一个播放优酷播放的app.涉及到优酷视频真实地址解析的问题!求教育!!!!!

优酷视频怎么下载

  首先,下载优酷视频下载器iku爱酷PC版 安装iku: 能看到安装完成后的界面是: 在此说下,用iku下载视频有两种方法: 方法一:在网页上看视频的过程中想要下载可以直接点击视频下方的"下载"字样 然后就能看到iku里视频已经处于下载状态了: 方法二:找到视频所在页面网站 复制网址,进入iku点击软件右上方处的"新建下载"字样,如下 就能看到如下界面 在粘贴处粘贴之前复制的视频网址,点击"开始下载",就能看到视频已经开始下载了.在下载完成处右

怎么获取优酷视频的视频地址?获取优酷视频的视频Flash地址教程

1.如我们先打开 首先打开优酷网,然后我们再找到 分享的视频 然后打开到播放页面. 2.然后我们在视频页面找到 分享按钮,然后我在视频右侧的出现一个箭头,然后我们指向去会看到有很多的 分享方式,就会看到其中有一个是Flash地址. 3.点击复制,或者全选复制此地址,就可以添加到自己的网站,或者是博客等. 友情提示 其它的视频网都获取视频的方法都差不多了,只是复制方法不一样了,但它们都提供了复制视频的方法哦,在此我就不一个个介绍了哦.

java获取优酷视频地址示例_java

复制代码 代码如下: import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URL;import java.util.regex.Matcher;import java.util.regex.Pattern; import net.sf.json.JSONArray;import net.sf.json.JSONException;import net.sf.json.JSONObject;

优酷的视频怎么下载 优酷视频下载方法详解

给各位优酷软件的客户端用户们来详细的解析分享一下优酷视频的下载方法. 方法分享: 步骤1.关于优酷的视频怎么下载的问题,首先打开优酷网,然后找到你想下载的那个步骤,如图所示,在视频的下方有一个下载的链接,点击一下这个下载.   步骤2.然后会在下面出现下载此视频的三个选项,可以用电脑,可以用手机,现在点击这个下载按钮开始下载客户端.   步骤3.然后会弹出另一个页面,然后会有一个下载的按钮,点击下载按钮,开始下载这个软件,然后下载完成,打开软件,将这个视频的地址复制到软件中,开始下载.   步骤

使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)

前言 为了保证每周一篇的进度,又由于Vitamio新版本没有发布, 决定推迟本地播放的一些功能(截图.视频时间.尺寸等),跳过直接写在线播放部分的章节.从Vitamio的介绍可以看得出,其支持http.m3u8等多种网络协议,本章将编写播放优酷视频的例子.   声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com    系列 1.使用Vitamio打造自己的Android万能播放器(1)