解析腾讯视频真实地址
解析腾讯视频真实地址
标签(空格分隔): php
分析
1 我们从腾讯视频上找到的网页链接格式是这样的
https://v.qq.com/x/page/b0136et5ztz.html
vid = b0136et5ztz
2 把vid放单到接口上
http://vv.video.qq.com/getinfo?vids=b0136et5ztz&platform=101001&charge=0&otype=json
3 php发送curl请求
QZOutputJson={"dltype":1,"exem":0,"fl":{"cnt":2,"fi":[{"id":100701,"name":"msd","lmt":0,"sb":1,"cname":"标清;(270P)","br":29,"profile":2,"drm":0,"video":1,"audio":1,"fs":35776912,"sl":1},{"id":2,"name":"mp4","lmt":0,"sb":1,"cname":"高清;(480P)","br":34,"profile":1,"drm":0,"video":1,"audio":1,"fs":74129447,"sl":0}]},"hs":0,"ip":"106.34.147.20","ls":0,"preview":1186,"s":"o","sfl":{"cnt":0},"tm":1534655232,"vl":{"cnt":1,"vi":[{"br":29,"ch":0,"cl":{"fc":0,"keyid":"b0136et5ztz.100701"},"ct":21600,"drm":0,"dsb":0,"fmd5":"87d7d2ef15f55a456bcdb359dd580795","fn":"b0136et5ztz.m701.mp4","fs":35776912,"fst":5,"fvkey":"40548D2700B697C2819E6821B6921EBB0F69BA24C3CDCCB1266447F91632D099BB54C11C40F651D63B97D5E165A948F69408C68D5780E56CAF3A8F2016CF712471F3CB3C882A4884B047EF3EC95EA265B38B43F0550E9D38F6C054E4BAFD5AAD81D084DB0A8372BB","head":0,"hevc":0,"iflag":0,"level":0,"lnk":"b0136et5ztz","logo":1,"mst":8,"pl":null,"share":1,"sp":0,"st":2,"tail":0,"td":"1186.92","ti":"解密潮汕多神信仰","tie":0,"type":3,"ul":{"ui":[{"url":"h*ttp://ugcws.video.gtimg.com/uwMRJfz-r5jAYaQXGdGnC2_ppdhgmrDlPaRvaV7F2Ic/*","vt":106,"dtc":0,"dt":2},{"url":"http://106.42.24.23/vhot2.qqvideo.tc.qq.com/AQoGsaMTX3SIQg301S_QauBdpyU-zT0TnVHKmgEswDkQ/","vt":200,"dtc":0,"dt":2},{"url":"http://ugclx.video.gtimg.com/uwMRJfz-r5jAYaQXGdGlAxqAgTq-niFnH3vfzZVGqxw/","vt":156,"dtc":0,"dt":2},{"url":"http://video.dispatch.tc.qq.com/","vt":0,"dtc":0,"dt":2}]},"vh":272,"vid":"b0136et5ztz","videotype":27,"vr":0,"vst":2,"vw":480,"wh":1.7647059,"wl":{"wi":[]},"uptime":1410505772,"fvideo":0,"fvpint":0}]}};
去除 QZOutputJson= 和 最后的分号就行json解析
取出:url [第一个url] | fn | vkey
真实地址:url + fn + '?vkey=' + fvkey
代码
$url = 'http://vv.video.qq.com/getinfo?vids=b0136et5ztz&platform=101001&charge=0&otype=json';
$tencentVideoInfo = curl_request($url);
$tencentVideoJson = substr(explode('QZOutputJson=',$tencentVideoInfo)[1],0,-1);
$tencentVideoArray = json_decode($tencentVideoJson,true);
$fvkey = $tencentVideoArray['vl']['vi'][0]['fvkey'];
$fn = $tencentVideoArray['vl']['vi'][0]['fn'];
$url = $tencentVideoArray['vl']['vi'][0]['ul']['ui'][0]['url'];
$video_url = $url.$fn.'?vkey='.$fvkey;
return json(200, $video_url);
json数据
{
"code": 200,
"msg": "获取数据成功!",
"data": "http://ugcbsy.qq.com/uwMRJfz-r5jAYaQXGdGnC2_ppdhgmrDlPaRvaV7F2Ic/b0136et5ztz.m701.mp4?vkey=13DF1CA5CA214BCAB53C896CCA9541644FCB76176007AE9DAD8406F4FB134821DD93791EC4B6BCBFF26C0AF5648793A6D54C4E00D70C95E9D2FABC224C86FA9836A6251B89B8B16568F1FB2A7397D3A35C17E82E89A2090FEAC96D7376D66B0C0846E898579D27EB"
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)