17/09/09 09:32:54.23 hIdZ7lkT00909.net
>>790-791
curlコマンドを使った認証周りはこんな感じ
curl --header "X-Radiko-App: pc_html5" --header "X-Radiko-App-Version: 0.0.1" \
--header "X-Radiko-Device: pc" --header "X-Radiko-User: dummy_user" \
--dump-header auth1_head.txt --silent "URLリンク(radiko.jp)
(エリアフリー対応の場合は--cookieでcookieファイルを指定する)
レスポンスヘッダの内容がauth1_head.txtに落ちるので
・X-Radiko-AuthToken
・X-Radiko-KeyLength
・X-Radiko-KeyOffset
の値を取得する
PartialKeyは今まで使ってきたauth2_fmsと同じように種となる情報から
指定オフセットとバイトのバイナリを切り出してBASE64エンコード
なお種となる情報は URLリンク(radiko.jp) にある
new RadikoJSPlayer(...) の3つめの引数にある "bcd1510..." がそれ
このテキストを40バイトのバイナリと見なしてPartialKeyを取得
んで、こんな感じで実行すれば認証はOK
curl --silent --header "X-Radiko-Device: pc" --header "X-Radiko-User: dummy_user" \
--header "X-Radiko-AuthToken: {AuthToken}" --header "X-Radiko-PartialKey: {PartialKey}" \
"URLリンク(radiko.jp)
ちなみにURLは
URLリンク(radiko.jp)放送局ID}.xml
を取得して、xpathで /urls/url[@areafree="0"][1]/playlist_create_url/text() で抜けばよい
(エリアフリーは[@areafree="1"]とする)