我嘗試使用 Internet 下載管理器下載視頻,但失敗

我嘗試使用 Internet 下載管理器下載視頻,但失敗

我想下載這個影片 -http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4

這是包含類似視頻的頁面的鏈接。我嘗試使用下載視頻網路下載管理器,但失敗了,如截圖所示

Internet 下載管理員失敗螢幕截圖

是否可以保存該影片以供離線觀看?請幫我。謝謝。

答案1


http://animax.mn請注意,截至 2021 年 6 月,相關網站 ( ) 似乎已停止營運)


您可能遇到的問題是網站使用特殊的 cookie,而 Internet 下載管理器可能不會傳送該 cookie。特別是,其中包括 CSRF 令牌,以防止跨站請求偽造 攻擊和Laravel PHP 框架會話 ID。這些需要與文件請求一起傳輸,否則請求將被拒絕。

要下載視頻,您可以:

  • 查看是否有選項包含這些或以其他方式將 cookie 新增至 Internet 下載管理員。

  • 使用另一個既可以下載檔案又可以處理 cookie 的工具(例如捲曲)。

假設 Internet 下載管理器不支援任何其他選項來幫助下載此視頻,您可以嘗試下面給出的 cURL 基本說明。


取得捲曲

cURL 可以從其下載官方下載頁面。 Windows 版本接近最底部。藍色版本號連結到要下載的相應檔案。藍色的個人名字通常會指向其他地方。

作為建議,您可能想要使用 Viktor Szakats 的當前(截至撰寫本文時)v7.59.0 版本之一(Win32 或 Win64 版本,視情況而定)。

更新:

Viktor Szakats 的建造顯然已被cURL 的官方 Windows 版本(仍然建議並提供 32 位元/64 位元版本)。

下載後,只需解壓縮檔案並將內容放入您選擇的永久資料夾中。為了避免每次使用 cURL 時都必須使用完整路徑curl.exe,您可能需要curl.exe在 Windows 中註冊Path(位於官方 Windows 版本的Szakats 版本的資料夾curl.exe中)。bin

取得餅乾

您可以使用瀏覽器取得必要的 CSRF 令牌和 Laravel 會話 ID,以便透過現代 Chromium 風格瀏覽器(Firefox、Chrome、Opera 等)附帶的開發人員控制台與 cURL(或您選擇的任何程式)一起使用。作為一個額外的好處,透過執行以下步驟,您還可以獲得基本的 cURL 命令...

“複製為 cURL”步驟:

  1. 正常登入網站。

  2. 前往影片頁面(例如您問題中的此連結中列出的其中之一)。

  3. 按下F12(或Opera 中的Ctrl+ Shift+ I)開啟開發者控制台並選擇網路右側的選項。為了方便使用,我還建議您點擊小在單獨的視窗中顯示圖示(最右側)將控制台與主瀏覽器視窗分開。

前任。 網路選項和獨立控制台 開發人員的控制台網路和對接選項

  1. 重新載入影片頁面但不要關閉控制台。控制台將捕獲與頁面相關的網路流量,包括HTTP得到請求例如http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 (顯示為GET /?media=rencoded/op/one_piece503.mp4)。

  2. 將會有大量GET請求,因此您可能需要使用媒體子選項。您可以透過選擇預覽 cookie餅乾請求的選項GET也是如此。

前任。 媒體過濾和 Cookie 預覽 開發者控制台媒體過濾器和 Cookie 選項

  1. 右鍵單擊相應的GET請求並選擇複製為 cURL選單選項(可能複製為 cURL (cmd)在 Chrome 中)。將產生的命令貼到記事本或類似工具中(它將不是提前顯示)。

前任。 複製為 cURL - Firefox 開發者控制台將 GET 請求複製為 Curl

通過給出的視頻鏈接,我對立即出現的請求沒有任何問題GET。然而,如果媒體過濾器選項為空,您應該使用控制台清除最左側的(垃圾桶)圖標,然後按下主視窗(影片正常顯示的位置)中媒體播放器的「播放」按鈕。這應該會GET出現對相關媒體文件的任何適當請求。

檢查 cURL 請求

您複製的文字應類似於以下內容:

捲曲http://animax.mn:12000/?media=rencoded/op/one_piece001.mp4-H "主機:animax.mn:12000" -H "用戶代理:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0" -H "接受:video/webm,video/奧格,視訊/;q=0.9,應用程式/ogg;q=0.7,音訊/;q=0.6,/;q=0.5" -H "接受語言:en-US,en;q=0.5" -H "範圍:位元組=0-" -H "Cookie: OSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFVVY NjNmYTFhOWM5MzhlymFjNTk5ZmRmNzNiN2IxYTc2ZWJlow M3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session=eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktJThKeHJVVMIT1 C9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjDM2I1N2EyMjE4ODU1ODkwMGRmYjFOThjk wh-widget-cookie=1" -H "DNT: 1" -H "連線:維持活動狀態"

如果您只需要 CSRF 令牌和 Laravel 會話 ID,則可以消除大部分複製的命令,只留下例如:

「XSRF-令牌=eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeFVDFDun​​DDFD5DFl_Fy_FpFS445QeFFylF45Fp tZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYNaljNjN; Stvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJJJJJSVWF​​D12125VXFWSjR0bjJJJJS21212021p9 tYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0"%"3D"

請注意,您應該能夠安全地消除; wh-widget-cookie=1"cookie 末尾的部分,如上所示(最後一個 cookie 對於透過 cURL 的連線似乎不是必要的)。但請注意,除非您確定實際上不需要它們,否則請保留 cookie 周圍的雙引號。

使用 cURL 下載

按原樣,您最初複製的命令具有(幾乎)發出請求所需的所有數據,例如http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4。您只需在後面添加-O(大寫哦)輸出選項curl和正確的 URL(根據需要),例如:

curl -O“http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4”-H“主機:animax.mn:12000”[...]-H“連接:保持活動”

(需要明確的是,省略號[...]只是我的簡寫 - 您將包括複製命令的完整剩餘文本,如前面所示)。

然後,您可以(希望)從命令列執行此 cURL 命令來下載影片。

縮短指令

在這種情況下,預設的 cURL 指令有很多無關的部分。如果您覺得有必要,cURL 指令可以縮短為:

捲曲-Ohttp://animax.mn:12000/?media=rencoded/op/one_piece503.mp4-r 0---cookie「XSRF-TOKEN=eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0JOSHlHFwidLwfRpFS Ud4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5MzhlYmFjNTk5ZmRmN zNiN2IxYTc2ZWJlOWM3MjVlZDMNW zNiN2IxYTc2ZWJlOWM3MjVlZDMYW 6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0F USTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXJVJV​​DTJDTJDTTTTJJJM5TJM5VX 2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRihjOWZlNm?

簡而言之,-r 0-取代了-H "Range: bytes=0-(在這種情況下,Range:標頭是 cURL 所需的原始 URL 中除了給定的 cookie 之外的唯一其他元件)。

筆記

  • 對於在同一會話中的多個視訊重新使用相同的 cookie,我沒有遇到任何錯誤。但請注意,登出/登入將會變更 cookie,並且每次執行此操作時,您都必須執行我概述的步驟來重新收集它們。

  • 您可能需要(暫時)停用防毒軟體等以進行下載

  • 可能沒有必要保留https://animax.mn瀏覽器視窗打開,但我只是這樣我可以在完成後登出(或者可能重新登入)。否則,似乎不清楚該網站的會話處理標準通常是什麼。

  • 您可以從初始登入請求中獲取(幾乎?)相同的 cookie POST,但似乎可能存在一些未經證實的小問題(這就是為什麼我建議直接從請求中獲取它們GET)。

  • 您可能需要小心複製 cookie。對於正常的剪切/粘貼操作來說,它們可能有點笨拙。


樂觀與悲觀

“樂觀主義者宣稱我們生活在所有可能的世界中最好的世界;而悲觀主義者則擔心這是真的。”

不幸的是,在測試這個答案時,我無法完全地下載任何影片(儘管部分下載確實會導致損壞)。我懷疑網路連線不佳和(可能)網站設計不佳導致下載失敗(有趣的是,我在瀏覽網站時遇到了幾個與 cURL 無關的 PHP 錯誤)。

因此,您使用 cURL 的里程和您選擇的網站可能會有所不同...


相關內容