hinet hichannel 取得 index.m3u8 播放路徑

實際運作結果

先看一下可播放的實際案例網址

解讀

  1. ra-000073 是頻道的代號名稱,ra-000073 是 NEWS98 ,KissRadio 是 ra-000042
  2. index.m3u8 表示使用 HTTP HLS 串流技術
  3. expire1 & expire2 表示可以執行播放的時間區間,你拿一個早上八點到下午四點的播放網址在晚上執行是不能播放的
  4. token1 & token2 和 expire 是相呼應的,意思就是如果 expire 的數值為 1000 算出 token 是 ABC999 ,那一樣的執行環境算出的 token 就會相同

參考資料

寫 PHP 的人轉到 python 會遇到的問題有

  1. 結束不用加分號
  2. \t 和空白是坑爹的不一樣
  3. 縮行不是爽縮就可以縮
  4. 相同功能的 function 預設的輸出和 PHP 不同

 

好好研究一下網頁是如何運作,追到了 radio_proxy.swf 這個檔案,網頁的播放最後就是由這個 Flash 檔案生成播放路徑,這時又要尋找「反組譯」黑科技

可惜的是,閃客 Sothink SWF Decompile 解不開,大概也有反制黑科技的技術吧

還好這種東西有線上版可以用!?…

不知道當時哪來的腦洞想到上網找 online 版,不過結果是美好的,至少是解開有看到類似 ActionScript 的輸出了。

下面是有關產生 token 的片段程式

基本上和 python 架構是一樣的,只是反組譯有少東西,最關鍵的 KEYS 沒有解開,只好回頭繼續研究 python

後來證實 python 有關 token 的演算法是正確的

Token 演算法

token1 字串組成

token2 字串組成

token1 範例,token2 只要將最後的 1 改成 2 即可

然後拿去 md5() 再跑 base64_encode() 就可以得到 Token 了

index.m3u8 內容

PHP 程式碼

 更新

  • 2019-02-20 網址改為 https:// 以及又改為 index.m3u8 的檔名
  • 2018-06-29 最後 m3u8 產出時, index.m3u8 檔案名稱必須改成 ra-hls/hich-ra000073-audio_track=128000.m3u8 這種格式的檔案名稱

2,068 total views, 1 views today

PhantomJS – 一個可以使用指令擷取網頁及將 ajax 網頁轉為可 SEO 的程式

Full web stack No browser required

安裝

參考至

  1. http://phantomjs.org/download.html 選擇 64 位元
  2. sudo yum install freetype fontconfig
  3. wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
  4. bunzip2 phantomjs*.tar.bz2
  5. tar xvf phantomjs*.tar
  6. sudo cp phantomjs*/bin/phantomjs /usr/bin/phantomjs
  7. phantomjs -v

取得 ajax 後的完整原始碼

參考至

 

實際使用

 

358 total views, no views today