首页 » 资源分享 » PHP » 正文

PHP获取腾讯视频真实地址



1、本例以移动端为需求,仅获取腾讯视频低清版本
2、使用到的腾讯apiUrl:http://vv.video.qq.com/getinfo
3、获取腾讯视频的vids(将作为参数请求腾讯getinfo接口)
当打开腾讯视频的时,比如https://v.qq.com/x/page/x0164ytbgov.html,vids的值即为x0164ytbgov。
或通过其他途径已经获取到了vids。
4、请求api示例(如果需要xml格式,就让参数中otype=xml)
http://vv.video.qq.com/getinfo?vids=“获取到的vids”&platform=101001&charge=0&otype=json&defn=shd
返回的字符串数据如:
QZOutputJson=
{
..........
};
5、拼接低清版本的视频地址
先把获取到的字符串去掉QZOutputJson=和最后的分号,变成json格式,再转成数组格式。
取数组中的值拼接出真实视频:
url = array['vl']['vi'][0]['ul']['ui'][0]['url'] + array['vl']['vi'][0]['fn'] + "?vkey=" + array['vl']['vi'][0]['fvkey']
6、php代码示例
$vids = "获取到的vids";
$url = 'http://vv.video.qq.com/getinfo?vids='.$vid.'&platform=101001&charge=0&otype=json&defn=shd';
$json = file_get_contents($url);
preg_match('/^QZOutputJson=(.*?);$/',$json,$json2);
$tempStr = json_decode($json2[1],true);
$vurl = $tempStr['vl']['vi'][0]['ul']['ui'][0]['url'].$tempStr['vl']['vi'][0]['fn']."?vkey=".$tempStr['vl']['vi'][0]['fvkey'];
echo $vurl;