CDN資源設置了防盜鏈功能,Android客戶端這邊需要在訪問資源時設置約定好的頭信息。
一開始是希望使用通用頭Referer
,但對於MediaPlayer的話,在 android 4.X 機型上設置Referer
是無效果的….
該Bug在android 5.0才恢復。
見下圖:
參考鏈接:
Nexus 5 referer string value is coming as null even if we pass it
Why VideoView setVideoUri(Uri uri,Headers headers) doesn’t work?
那轉而使用User-Agent
吧,但是!!!
在 android 5.0 機子上MediaPlayer將User-Agent
強制設置爲stagefright/1.2
了! Shit!!!
見下圖:
參考鏈接:
MediaPlayer ignores User-Agent header
Don’t overwrite user agent header if app specified one
最後,防盜鏈在CDN端的配置是即使用Referer
也使用User-Agent
兩者是或
關係。