西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁(yè)編程開發(fā)其它知識(shí) → 自己做騰訊視頻真實(shí)地址解析分析

自己做騰訊視頻真實(shí)地址解析分析

前往專題相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/2/21 9:18:28字體大小:A-A+

作者:zhoubo點(diǎn)擊:3次評(píng)論:0次標(biāo)簽: 騰訊視頻

iPhone騰訊視頻v4.7.1 官方正式版
  • 類型:影音娛樂大。61.1M語(yǔ)言:中文 評(píng)分:7.4
  • 標(biāo)簽:
立即下載

我覺得網(wǎng)上的一些資料大多是直接給出處理的結(jié)果,而不注重分析過程,對(duì)我們程序員來(lái)說(shuō),其過程更重要,工作中碰到的問題是多種多樣的,不可能每個(gè)碰到的問題都能從網(wǎng)上直接找到答案,我也覺得作為程序員直接去找答案的做法本身有問題.應(yīng)該提高主動(dòng)去分析解決問題的能力.下面是對(duì)這類問題的一個(gè)相對(duì)通用的分析方法.

1.URL分析

http://v.qq.com/cover/g/g9jgclyhpp5sp7p.html?vid=g00118pmaso

打開這個(gè)url的頁(yè)面源碼,找到下面這些內(nèi)容:

var COVER_INFO = {
title :"獨(dú)家首發(fā)",
id :"g9jgclyhpp5sp7p",
isPrev :false,
pic :"http://i.gtimg.cn/qqlive/img/jpgcache/files/qqvideo/g/g9jgclyhpp5sp7p_h.jpg",
typeid:22,
videoReName :false,
sourceid:0,
isEurope:false,
useTextVideoList:false,
columnid:0,
hasRecommend:true,
specialTemp:false,
varietyDate:"",
copyright:5
};

在源碼中搜索g9jgclyhpp5sp7p字符串,從其出現(xiàn)的位置基本可以判斷這個(gè)字符串唯一代表了一個(gè)合集(或者叫專輯). 不管它有沒有用,先大概看一下,把URL中覺得有用的東西過一遍.

騰訊視頻播放地址的url有幾種模式,上面是其中一種,其它的幾種模式對(duì)解析其地址沒什么太大關(guān)系,這里就以這種為例了.這個(gè)url中最關(guān)鍵的就是最后面接的一個(gè)參數(shù)vid(videoID)=g00118pmaso.

2. 抓包

  這里首先要說(shuō)一點(diǎn),平時(shí)做web應(yīng)用或者后臺(tái)接口,要有習(xí)慣去抓包,并且對(duì)抓到的包進(jìn)行一些簡(jiǎn)單的分析,這是一個(gè)很好的習(xí)慣,有時(shí)候會(huì)學(xué)到一些意想不到的東西.

  最簡(jiǎn)單的抓包方式就是直接用瀏覽器自帶的工具了,我平時(shí)用的chrome,F12 - Network中就有當(dāng)前頁(yè)面發(fā)送出去的http報(bào)文,另外還有個(gè)小技巧,因?yàn)闉g覽器會(huì)有緩存,按Ctrl+F5刷新頁(yè)面,就會(huì)強(qiáng)制從服務(wù)端獲取內(nèi)容而不用緩存,有時(shí)候需要這樣做,具體的原理可以去看看http協(xié)議中的Cache-Control頭部. 用瀏覽器抓包還有個(gè)不太方便的地方,當(dāng)頁(yè)面跳轉(zhuǎn)時(shí),前面抓的包就沒有了,抓的永遠(yuǎn)是當(dāng)前頁(yè)面相關(guān)的報(bào)文.所以我平時(shí)用的比較多的是fiddler,一個(gè)免費(fèi)的抓包工具,非常方便.

  回到正題, 我們從瀏覽器輸入鏈接http://v.qq.com/cover/g/g9jgclyhpp5sp7p.html?vid=g00118pmaso, 抓到了很多http包,我這里給出一部分的截圖

  

標(biāo)出來(lái)的部分請(qǐng)求是關(guān)鍵請(qǐng)求, 我自己在分析的時(shí)候,是從下往上分析的,

1)首先找到視頻的下載地址

http://101.71.72.2/music.qqvideo.tc.qq.com/g00118pmaso.p309.1.mp4?sdtfrom=v10&type=mp4

&vkey=95C006D54AA7217B859B15732EE04FB88B3986D36E53116ECAF1CFD43EE6615BA6AD5DDDF8CC3D7B

&level=3&platform=1&br=351&fmt=fhd&sp=0

這里繼續(xù)分析url,g00118pmaso上面講到了,是vid,但是后面多出了.p309.1. 繼續(xù)往下看sdtfrom=v10(未知),type=mp4,這個(gè)好理解,vkey=95C006D54AA7217B859B15732EE04FB88B3986D36E53116ECAF1CFD43EE6615BA6AD5DDDF8CC3D7B,這個(gè)看起來(lái)又像是一個(gè)比較關(guān)鍵的參數(shù),level=3(后面xml中對(duì)應(yīng)的level),platform=1(平臺(tái),web、client、iphone...?暫時(shí)也是未知),br=351(bitrate=351?大概是碼率的意思,后面xml中的br=351),fmt=fhd(大概意思是format=flvHD?實(shí)際上這里是后面id為10309對(duì)應(yīng)的format name),sp=0(后面xml中對(duì)應(yīng)的sp).

這里有一大堆的參數(shù),有很多都是未知,這個(gè)時(shí)候別慌,整個(gè)鏈接直接下載肯定是可以下載到視頻的,現(xiàn)在要做的是,去掉其中一些參數(shù),看是否能下載.

http://101.71.72.2/music.qqvideo.tc.qq.com/g00118pmaso.p309.1.mp4?type=mp4

&vkey=95C006D54AA7217B859B15732EE04FB88B3986D36E53116ECAF1CFD43EE6615BA6AD5DDDF8CC3D7B

&br=351&fmt=fhd最后發(fā)現(xiàn),保留這些參數(shù),能正常下載到視頻。所以其它參數(shù)暫時(shí)先別管。這里有幾個(gè)關(guān)鍵的地方,vkey從哪里來(lái)的?br和fmt從那里獲?vid后面的p309.1哪里來(lái)的?還有就是ip地址來(lái)源未知。分析到這里,繼續(xù)往上找到另一個(gè)比較關(guān)鍵的請(qǐng)求。

http://vv.video.qq.com/getkey

分析玩上面的視頻地址鏈接的組成,很容易就找到了這個(gè)請(qǐng)求,getkey。它是一個(gè)post請(qǐng)求,查看其發(fā)送的參數(shù)format=10309&otype=xml&vt=210&vid=g00118pmaso&ran=0%2E9477521511726081

&charge=0&filename=g00118pmaso%2Ep309%2E1%2Emp4&platform=11

http response中的內(nèi)容如下:

<?xml version="1.0" encoding="utf-8"  standalone="no" ?>
<root><br>360602.1875</br><ct>604800</ct><key>95C006D54AA7217B859B15732EE04FB88B3986D36E53116ECAF1CFD43EE6615BA6AD5DDDF8CC3D7B</key><level>3</level><levelvalid>1</levelvalid><s>o</s><sp>0</sp><sr>0</sr></root>

在這里我們找到了key,同時(shí)還發(fā)現(xiàn)了和上面鏈接對(duì)應(yīng)的level和sp兩個(gè)參數(shù),上面一個(gè)鏈接中的一個(gè)參數(shù),不過這個(gè)參數(shù)也非必要,暫時(shí)不管。

URLDecode后為:

format=10309(這里實(shí)際上是后面的format id)&otype=xml&vt=210&vid=g00118pmaso

&ran=0.9477521511726081&charge=0&filename=g00118pmaso.p309.1.mp4&platform=11

同樣,在代碼中試,看那幾個(gè)參數(shù)是必要的,經(jīng)試驗(yàn),發(fā)現(xiàn)format,type,vid,filename是必要的。

繼續(xù)網(wǎng)上分析第三個(gè)url,http://vv.video.qq.com/getinfo

也是一個(gè)POST請(qǐng)求,參數(shù)是:

otype=xml&pid=2FAF2F6427123207101EBDA3F1523310A76216BD&

platform=11&vids=g00118pmaso&charge=0&speed=1246&ran=0.8439321480691433

返回的結(jié)果如下:

<?xml version="1.0" encoding="utf-8"  standalone="no" ?>
<root>
    <fl>
        <cnt>5</cnt>
        <fi>
            <br>64</br>
            <id>1</id>
            <name>flv</name>
            <sl>0</sl>
        </fi>
        <fi>
            <br>550</br>
            <id>10301</id>
            <name>shd</name>
            <sl>0</sl>
        </fi>
        <fi>
            <br>230</br>
            <id>10302</id>
            <name>hd</name>
            <sl>0</sl>
        </fi>
        <fi>
            <br>64</br>
            <id>10303</id>
            <name>sd</name>
            <sl>0</sl>
        </fi>
        <fi>
            <br>900</br>
            <id>10309</id>
            <name>fhd</name>
            <sl>1</sl>
        </fi>
    </fl>
    <hs>0</hs>
    <ls>0</ls>
    <preview>276</preview>
    <s>o</s>
    <tm>1361366724</tm>
    <vl>
        <cnt>1</cnt>
        <vi>
            <br>351</br>
            <ch>0</ch>
            <cl>
                <ci>
                    <cd>276.480011</cd>
                    <cmd5>beace783957b52f460006604229b57cf</cmd5>
                    <cs>99699295</cs>
                    <idx>1</idx>
                    <keyid>g00118pmaso.10309.1</keyid>
                </ci>
                <fc>1</fc>
            </cl>
            <fmd5>4ebecd94d64f46666d4e43826c120b5f</fmd5>
            <fn>g00118pmaso.p309.mp4</fn>
            <fs>99699378</fs>
            <fst>5</fst>
            <lnk>g00118pmaso</lnk>
            <logo>1</logo>
            <pl>
                <cnt>2</cnt>
                <pd>
                    <c>10</c>
                    <cd>2</cd>
                    <fmt>40001</fmt>
                    <fn>q1</fn>
                    <h>45</h>
                    <r>10</r>
                    <url>http://video.qpic.cn/video_caps/0/</url>
                    <w>80</w>
                </pd>
                <pd>
                    <c>5</c>
                    <cd>2</cd>
                    <fmt>40002</fmt>
                    <fn>q2</fn>
                    <h>90</h>
                    <r>5</r>
                    <url>http://video.qpic.cn/video_caps/0/</url>
                    <w>160</w>
                </pd>
            </pl>
            <share>1</share>
            <st>2</st>
            <td>276.48</td>
            <ti>因你而在</ti>
            <type>3585</type>
            <ul>
                <ui>
                    <dt>2</dt>
                    <dtc>10</dtc>
                    <url>http://101.71.72.2/music.qqvideo.tc.qq.com/</url>
                    <vt>210</vt>
                </ui>
                <ui>
                    <dt>2</dt>
                    <dtc>10</dtc>
                    <url>http://113.207.98.27/music.qqvideo.tc.qq.com/</url>
                    <vt>210</vt>
                </ui>
                <ui>
                    <dt>2</dt>
                    <dtc>10</dtc>
                    <url>http://video.store.qq.com/</url>
                    <vt>0</vt>
                </ui>
            </ul>
            <vh>1080</vh>
            <vid>g00118pmaso</vid>
            <videotype>0</videotype>
            <vw>1920</vw>
        </vi>
    </vl>
</root>

看到這個(gè)后,比較興奮,想要的東西基本上在這里可以找到了。再回過來(lái)分析一下這個(gè)請(qǐng)求所帶的參數(shù)

otype=xml&pid=2FAF2F6427123207101EBDA3F1523310A76216BD

&platform=11&vids=g00118pmaso&charge=0&speed=1246&ran=0.8439321480691433

otype返回格式,pid看起來(lái)又像是個(gè)比較重要的參數(shù)(未知),platform(上面是1,這里又來(lái)了個(gè)11,不明白),vid和上面一樣,charge(應(yīng)該是付費(fèi)信息,0表示不付費(fèi),來(lái)源未知),speed(未知),ran和上面一樣應(yīng)該是個(gè)0-1之間的隨機(jī)數(shù)。用httpclient模仿這個(gè)請(qǐng)求,令人興奮的是只需要vids和otype就能返回該xml(不需要再去找pid了)。

再整理一下:

1.先通過http://vv.video.qq.com/getinfo POST請(qǐng)求添加參數(shù)otype,vid就能獲得上面的xml。

2.根據(jù)這個(gè)xml中的內(nèi)容發(fā)送http://vv.video.qq.com/getkey POST請(qǐng)求,參數(shù)列表為format,type,vid,filename。

其中format的id和name有個(gè)對(duì)應(yīng)關(guān)系,10309-fhd、10303-sd、10302-hd。這里填寫的為id。例如:format=10309

filename由幾部分組成g00118pmaso.p309.1.mp4 最前面一部分是vid,如果格式id為10309,則后面加上p309.1,最后是格式mp4。例如我我要下載格式id為10303的視頻,那拼出來(lái)應(yīng)該是g00118pmaso.p303.1.mp4。

type為xml,vid為每個(gè)視頻唯一的id,這里是g00118pmaso。

3.根據(jù)以上信息拼接視頻的真實(shí)地址

首先是xml中的地址http://101.71.72.2/music.qqvideo.tc.qq.com

緊跟著拼上filename,這里例如g00118pmaso.p309.1.mp4、g00118pmaso.p303.1.mp4、g00118pmaso.p302.1.mp4、g00118pmaso.p301.1.mp4。注意filename要和vkey一一對(duì)應(yīng),不能用p309的key和g00118pmaso.p303.1.mp4拼接。

然后就是vkey,根據(jù)filename獲得的vkey進(jìn)行拼接。

接著type=mp4,fmt和format id對(duì)應(yīng),例如10309對(duì)應(yīng)的是fhd。

對(duì)于format id為10309的視頻,最后拼出來(lái)的結(jié)果是http://101.71.72.2/music.qqvideo.tc.qq.com/g00118pmaso.p309.1.mp4?type=mp4

&vkey=95C006D54AA7217B859B15732EE04FB88B3986D36E53116ECAF1CFD43EE6615BA6AD5DDDF8CC3D7B&fmt=fhd

注意這里把一些不必要的參數(shù)去掉了。

 3. 若通過抓包的方式無(wú)法分析出來(lái)真實(shí)地址,則需要反編譯swf,找到拼接視頻地址的代碼,還原其過程。

騰訊的視頻地址分析還算順利,因?yàn)椴恍枰淳幾gswf

    中國(guó)好聲音4
    (13)中國(guó)好聲音4
    中國(guó)好聲音第季直播軟件說(shuō)明中國(guó)好聲音第季由騰訊視頻獨(dú)播,用戶只要下載最新版本的騰訊視頻客戶端即可觀看中國(guó)好聲音第季直播視頻,也可以下載完整版中國(guó)好聲音第季視頻,另外下載回聲中國(guó)好聲音也可以觀看直播賽事哦在線直播網(wǎng)址......節(jié)目簡(jiǎn)介中國(guó)好聲音是由浙江衛(wèi)視聯(lián)合燦星制作打造的大型勵(lì)志專業(yè)音樂評(píng)論節(jié)目,此次第四季中國(guó)好聲音將于年月日起在浙江衛(wèi)視播出,騰訊視頻全網(wǎng)獨(dú)播。該節(jié)目旨在為中國(guó)樂壇的發(fā)展提供一批懷揣夢(mèng)...更多>>
    • 中國(guó)好聲音第4季直播app4.1.0 官方

      07-19 / 16KB

      推薦理由:中國(guó)好聲音第4季已經(jīng)開播,很多這個(gè)節(jié)目的忠實(shí)粉絲肯定需要一款手機(jī)直播軟件吧,中國(guó)好聲音第4季直播app騰訊
    • 騰訊視頻播放器2016v9.12.1296.0

      03-01 / 31.9M

      推薦理由:騰訊視頻2016官方免費(fèi)下載是騰訊視頻旗下的客戶端產(chǎn)品,支持豐富內(nèi)容的在線點(diǎn)播及電視臺(tái)直播,提供列表管理
    • echo回聲中國(guó)好聲音app3.2 最新版

      08-03 / 23.6M

      推薦理由:echo回聲中國(guó)好聲音app是echo回聲為中國(guó)好聲音第四季全新推出的新版本,在這里你可以和喜歡觀看中國(guó)好聲音節(jié)
    • 中國(guó)藍(lán)TV1.3.6 官網(wǎng)安卓版

      01-08 / 20.4M

      推薦理由:中國(guó)藍(lán)TV app是浙江衛(wèi)視官方推出的客戶端,讓用戶能更方便的在線觀看浙江衛(wèi)視節(jié)目,作為國(guó)內(nèi)著名的地方電視
    • echo回聲電腦版v3.2 官方最新版

      08-03 / 23.6M

      推薦理由:echo回聲是最近非;鸬囊豢盥曇舯砬橹谱鲬(yīng)用,簡(jiǎn)單來(lái)說(shuō)就是套用平臺(tái)上提供的表情GIF加上聲音濾鏡(變聲效果
    • iPhone騰訊視頻v4.7.1 官方正式版

      03-30 / 61.1M

      推薦理由:騰訊視頻ForiPhone客戶端是為iPhone用戶量身打造的網(wǎng)絡(luò)視頻軟件。視頻內(nèi)容:內(nèi)容涵蓋最新、最熱的電影、電視
    高清影音播放器
    (49)高清影音播放器
    西西軟件園提供高清播放器排行榜,讓用戶知道哪個(gè)高清影音播放器最好用,所謂的高清電影,就是指以高清視頻格式制作的全高清視頻文件,分辨率一般是現(xiàn)在的電腦配置越來(lái)越強(qiáng)大,用戶對(duì)視頻的質(zhì)量要求也越來(lái)越高,高清播放器更快更好更多免費(fèi)功能新增.視頻創(chuàng)建與播放支持.視頻生成高清串流播放,并能一鍵轉(zhuǎn)移視頻到市面上的消費(fèi)電子設(shè)備,包括電視機(jī)機(jī)藍(lán)光機(jī)游戲機(jī)手機(jī)平板電腦。,,常見分辨率前三個(gè)是用于標(biāo)識(shí)高清影片分辨率的關(guān)鍵指...更多>>
    騰訊視頻
    (28)騰訊視頻
    騰訊原本的官方視頻客戶端是,后來(lái)騰訊視頻上線,將納入到騰訊視頻中同步運(yùn)作。騰訊視頻下載正式版官方下載定位于中國(guó)最大的綜合視頻門戶,內(nèi)容以電影電視劇綜藝為主,同時(shí)在音樂新聞財(cái)經(jīng)時(shí)尚科技等多維度頻道運(yùn)營(yíng),最大限度貼合用戶在線視頻觀看需要。西西為大家提供了騰訊視頻播放器官方下載官方下載。年騰訊視頻在內(nèi)容方面也有大動(dòng)作,其實(shí)內(nèi)容一直是視頻網(wǎng)站的核心競(jìng)爭(zhēng)力,而年騰訊視頻將從兩個(gè)方面完善內(nèi)容,一方面是通過合作購(gòu)買...更多>>
    • 騰訊視頻播放器2016v9.12.1296.0

      03-01 / 31.9M

      推薦理由:騰訊視頻2016官方免費(fèi)下載是騰訊視頻旗下的客戶端產(chǎn)品,支持豐富內(nèi)容的在線點(diǎn)播及電視臺(tái)直播,提供列表管理
    • 手機(jī)騰訊視頻android版4.8.0.10150

      04-21 / 21.8M

      推薦理由:騰訊視頻,qqlive安卓版是為Android手機(jī)用戶量身打造的網(wǎng)絡(luò)視頻播放客戶端。采用輕量級(jí)的界面設(shè)計(jì)、豐富多元
    • 騰訊視頻(QQLive)v9.6.680 綠色去廣

      01-06 / 32.8M

      推薦理由:QQ視頻 支持在線觀看_在線點(diǎn)播 QQ視頻播放器主要的特點(diǎn): 全新的軟件界面,給你更強(qiáng)烈視覺沖擊.支持點(diǎn)播觀看,
    • 騰訊視頻QQLive越獄版v3.6.1 ipa

      08-08 / 10.2M

      推薦理由:騰訊視頻QQLive是官方出品的移動(dòng)視頻播放收看軟件app,可以在ios設(shè)備上觀賞QQlive的海量視頻,電影,電視劇
    • 騰訊視頻HD for iPadV4.3.1 正式版

      03-30 / 54.6M

      推薦理由:騰訊視頻ForiPad版最新版加入更多熱門精彩內(nèi)容;離線緩存增加校驗(yàn)機(jī)制,提升了緩存穩(wěn)定性;此外優(yōu)化播放器性
    • iPhone騰訊視頻v4.7.1 官方正式版

      03-30 / 61.1M

      推薦理由:騰訊視頻ForiPhone客戶端是為iPhone用戶量身打造的網(wǎng)絡(luò)視頻軟件。視頻內(nèi)容:內(nèi)容涵蓋最新、最熱的電影、電視

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)
    推薦文章

    沒有數(shù)據(jù)