最近在做一個播放抖音視頻的網(wǎng)頁中遇到一個問題,抖音視頻的url直接在瀏覽器中打開是沒有問題的,直接打開本地的.html文件也是可以正常播放視頻的,但訪問服務(wù)器上的請求過來的頁面就無法播放視頻,瀏覽器里按F12查看network發(fā)現(xiàn)video標(biāo)簽里的src請求視頻資源時報403 Forbiddn 錯誤。

直接訪問鏈接的請求頭:

正確的請求頭
出錯的請求頭:

錯誤的請求頭
經(jīng)過對比發(fā)現(xiàn)錯誤的請求頭中多了個Referer字段,
估計(jì)請求的是服務(wù)器 referer 做了判斷,不是正常的referer就拒絕了,可以模擬他們的 referer 請求試下,測試發(fā)現(xiàn), 通過 https 站點(diǎn)打開的頁面, 可以正常打開視頻鏈接,在 https 下, 發(fā)送的請求是不會帶有 Referer 的header 的, 這個時候是可以正常加載視頻的. 所以, 我們在 頁面的 head 標(biāo)簽內(nèi), 增加一行代碼,指定瀏覽器任何情況下都不發(fā)送Referer,這樣就可以正常加載資源了。
<meta name="referrer" content="no-referrer">
祭奠我失去的幾個小時,就為了這么一行代碼。。