亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java實現優酷視頻地址解析示例代碼分享

2019-11-26 15:47:45
字體:
來源:轉載
供稿:網友

舉個例子比較好理解,比如我現在要下http://v.youku.com/v_show/id_XNDM2Mjc0MzAw.html這個視頻。這里我們要獲得的是視頻的id,就是XNDM2Mjc0MzAw這部分,這是一個視頻唯一的,所以在解析的時候肯定會用到。

為了能看清楚youku視頻的播放過程,可以使用火狐的插件firebug對網頁進行跟蹤,如下圖。

可以看到有很多GET,我們要找的應該是以這個id作為參數的GET,在下面我們可以找到這個鏈接
http://v.youku.com/player/getPlayList/VideoIDS/XNDM2Mjc0MzAw/timezone/+08/version/5/source/video?ran=3545&password=&n=3
這是youku獲取播放列表的GET,打開它的響應,這是一個json,我們需要的內容是seed、streamfileids和segs。segs里面放的是視頻的分段key,streamfileids是一串亂碼,要用seed對他解碼。下面我截取了下載器的一部分來說明解碼的過程,解析json用的是json-lib-2.4-jdk15。

復制代碼 代碼如下:

List<Video> videos = new ArrayList<Video>();
JSONObject data;
//json就是剛獲得的響應,類型為String。
data = JSONObject.fromObject(json).getJSONArray("data").getJSONObject(0);
double seed = Double.valueOf(data.getString("seed"));
String title = data.getString("title");
String fileid = data.getJSONObject("streamfileids").getString("flv");//如果要下的是mp4格式的話
String realFileid = getFileID(fileid, seed);            //把flv改成mp4(前提是這個節點存在)
String fileid1 = realFileid.substring(0, 8);//解碼出來的id分成兩部分,中間要插入視頻分段
String fileid2 = realFileid.substring(10);

JSONArray segs = data.getJSONObject("segs").getJSONArray("flv");//segs部分解析
for (Iterator iterator = segs.iterator(); iterator.hasNext();) {
    JSONObject object = (JSONObject) iterator.next();
    int order = object.getInt("no");
    String size = object.getString("size");
    int seconds = object.getInt("seconds");
    String key = object.getString("k");
    String no = String.format("%1$02x", order);
    String youUrl = "http://f.youku.com/player/getFlvPath/sid/" + "00_"
        + no + "/st/flv/fileid/" + fileid1 + no + fileid2 + "?K="
        + key;         
    videos.add(new Video(order, seconds, youUrl, size, key, title));
}

youUrl就是我們要的視頻地址,比如上面那個視頻的第一段是:

http://f.youku.com/player/getFlvPath/sid/134434081131213125530_00/st/flv/fileid/030001090050201D77EDBC04650AC2DD6027D5-ED5F-27F6-8E73-DEF478121887&K=b499f3d5df944cfc2827e2ec

藍色的是隨機生成的,可以用00代替。
flv表示所要下載的視頻格式,也可以選mp4,如果有的話。
黃色的兩個00是分段碼,十六進制,比如第一段是00,第二段01,第十五段0f。
后面的是fileid,需要通過seed和streamfileids來破解,每段視頻都一樣。
最后面的K是在segs中獲得的,不需要破解,每段視頻都不一樣。

其中的兩個解碼函數為:

復制代碼 代碼如下:

private String getFileID(String fileid, double seed) {
    String mixed = getFileIDMixString(seed);
    String[] ids = fileid.split("http://*");
    StringBuilder realId = new StringBuilder();
    int idx;
    for (int i = 0; i < ids.length; i++) {
        idx = Integer.parseInt(ids[i]);
        realId.append(mixed.charAt(idx));
    }
    return realId.toString();
}

private String getFileIDMixString(double seed) {
    StringBuilder mixed = new StringBuilder();
    StringBuilder source = new StringBuilder(
        "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ///:._-1234567890");
    int index, len = source.length();
    for (int i = 0; i < len; ++i) {
        seed = (seed * 211 + 30031) % 65536;
        index = (int) Math.floor(seed / 65536 * source.length());
        mixed.append(source.charAt(index));
        source.deleteCharAt(index);
    }
    return mixed.toString();
}

代碼最后將得到一個Video類型的List,Video中的order是視頻的編號,seconds是時間長度,size是字節長度,youUrl就是真正的視頻地址,還有視頻的標題title。還有一些其他的內容都可以從json中獲得。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩精品在线播放| 精品日本美女福利在线观看| www.欧美免费| 91久久国产精品91久久性色| 亚洲曰本av电影| 成人午夜在线视频一区| 91最新国产视频| 中文字幕精品一区久久久久| 91亚洲精品久久久久久久久久久久| 国产精品精品视频一区二区三区| 国产精品白嫩初高中害羞小美女| 欧美日韩亚洲视频| 日韩av电影在线播放| 成人免费大片黄在线播放| 伦伦影院午夜日韩欧美限制| 色噜噜狠狠狠综合曰曰曰| 日韩va亚洲va欧洲va国产| 九九久久精品一区| 欧美日韩午夜剧场| 精品亚洲国产视频| 亚洲另类xxxx| 成人深夜直播免费观看| 91亚洲一区精品| 亚洲一区亚洲二区| 日韩精品极品视频免费观看| 亚洲欧美日韩一区二区三区在线| 亚洲精品乱码久久久久久金桔影视| 亚洲有声小说3d| 亚洲最大的免费| 538国产精品一区二区在线| 高清日韩电视剧大全免费播放在线观看| 国产视频亚洲视频| 日韩黄色在线免费观看| 97国产在线视频| 国产精品777| 国模精品视频一区二区三区| 日本a级片电影一区二区| 亚洲精品电影网在线观看| 久久影视电视剧凤归四时歌| 日韩激情在线视频| 日韩69视频在线观看| 伊人av综合网| 国产精品老女人视频| 国产精品日日做人人爱| 欧美午夜女人视频在线| 黄色成人av网| 日韩亚洲综合在线| 不卡av电影院| 久热精品视频在线观看| 国产成人精品免费久久久久| 欧美日韩精品在线观看| 亚洲免费电影在线观看| 欧美日韩亚洲天堂| 欧美日韩xxxxx| 欧美在线性视频| 国产精品69精品一区二区三区| 欧美午夜性色大片在线观看| 久久影视电视剧免费网站清宫辞电视| 国产91精品久久久久| 欧美精品在线播放| 大荫蒂欧美视频另类xxxx| 欧美成在线观看| 疯狂做受xxxx高潮欧美日本| 亚洲人成亚洲人成在线观看| 国产精品三级美女白浆呻吟| 在线播放国产一区二区三区| 国产精品爽黄69天堂a| 国产一区二区三区在线播放免费观看| 色偷偷91综合久久噜噜| 久久伊人精品视频| 中文字幕欧美日韩| 日韩欧美国产激情| 亚洲丝袜在线视频| xxav国产精品美女主播| 欧美孕妇与黑人孕交| 亚洲无限乱码一二三四麻| 大荫蒂欧美视频另类xxxx| 国产精品无码专区在线观看| 都市激情亚洲色图| 日韩中文在线中文网三级| 国产精品午夜一区二区欲梦| 午夜精品久久久久久久99黑人| 日本国产高清不卡| 国产精品久久久久久久久久久不卡| 国产精品福利网站| 国产精品69久久久久| 国产成人精品久久二区二区| 九九综合九九综合| 国产精品观看在线亚洲人成网| 久久久久在线观看| 亚洲一区二区三区成人在线视频精品| 日韩国产中文字幕| 97色在线播放视频| 免费91麻豆精品国产自产在线观看| 亚洲视频在线观看网站| 国产成人精品一区二区在线| 久久中文精品视频| 疯狂蹂躏欧美一区二区精品| 97视频在线观看免费高清完整版在线观看| 国产精品mp4| 欧美一级片久久久久久久| 欧美大片在线看免费观看| 久久久黄色av| 日韩在线视频网站| 亚洲男人av电影| 亚洲成人久久一区| 亚洲福利在线视频| 精品久久久91| 国产精品视频26uuu| 中文字幕在线国产精品| 国产精品久久久久久影视| 国产精品一香蕉国产线看观看| 国产精品福利在线观看网址| 91美女福利视频高清| 亚洲国产精品久久| 欧美国产第一页| 欧美精品激情在线| 亚洲国产精品字幕| 国产欧美精品一区二区三区介绍| 欧美日韩爱爱视频| 国产精品久久久久久av| 亚洲欧洲在线视频| 国产精品高潮粉嫩av| 欧美视频在线免费看| 欧美成人免费va影院高清| 91精品久久久久久久久中文字幕| 午夜免费日韩视频| 91精品视频在线免费观看| 亚洲国产精品va在线看黑人| 欧美激情影音先锋| 伊人久久综合97精品| 日韩av不卡电影| 国产婷婷97碰碰久久人人蜜臀| 欧美在线观看一区二区三区| 欧美大片免费观看在线观看网站推荐| 95av在线视频| 欧美性受xxxx白人性爽| 久久影院模特热| 亚洲最新视频在线| 日韩av电影手机在线| 欧美猛交免费看| 亚洲精品videossex少妇| 在线成人激情视频| 久久久精品免费视频| 色综合天天狠天天透天天伊人| 裸体女人亚洲精品一区| 欧美极品少妇xxxxⅹ喷水| 欧洲成人免费视频| 亚洲国产黄色片| 欧美精品videofree1080p| 精品国产1区2区| 日韩免费av片在线观看| xxxxx成人.com| 欧美亚洲国产成人精品| 久久久国产成人精品| 日韩男女性生活视频| 亚洲精品一区中文| 亚洲欧美在线免费| 国产成人精品综合久久久| 欧美国产在线电影| 国产91色在线|| 国产一区二区三区网站| 日本一区二区三区在线播放| 日韩亚洲精品视频|