
이 비디오를 다운로드하고 싶습니다 -http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4
비슷한 동영상이 있는 페이지 링크는 다음과 같습니다.. 다음을 사용하여 비디오를 다운로드하려고했습니다.인터넷 다운로드 매니저, 그러나 이 스크린샷에 표시된 것처럼 실패했습니다.
이 비디오를 오프라인으로 보기 위해 저장할 수 있나요? 도와주세요. 감사해요.
답변1
참고로 해당 사이트( http://animax.mn
)는 2021년 6월 현재 운영되지 않는 것으로 보입니다)
발생할 가능성이 있는 문제는 사이트가 인터넷 다운로드 관리자가 전송하지 않는 특수 쿠키를 사용한다는 것입니다. 특히 여기에는 CSRF 토큰이 포함되어 있습니다.교차 사이트 요청 위조 공격과라라벨 PHP 프레임워크세션 ID. 이는 파일 요청과 함께 전송되어야 하며, 그렇지 않으면 요청이 거부됩니다.
비디오를 다운로드하려면 다음을 수행하십시오.
이를 포함하거나 인터넷 다운로드 관리자에 쿠키를 추가하는 옵션이 있는지 확인하세요.
파일을 다운로드하고 쿠키를 처리할 수 있는 다른 도구(예:곱슬 곱슬하다).
인터넷 다운로드 관리자가 이 비디오를 다운로드하는 데 도움이 되는 추가 옵션을 지원하지 않는다고 가정하면 아래에 제공된 cURL에 대한 기본 지침을 시도해 볼 수 있습니다.
cURL 가져오기
cURL은 다음에서 다운로드할 수 있습니다.공식 다운로드 페이지. Windows 빌드는 맨 아래 근처에 있습니다. 파란색 버전 번호는 다운로드할 해당 파일에 대한 링크입니다. 파란색 개인 이름은 일반적으로 다른 곳으로 연결됩니다.
제안으로 Viktor Szakats의 현재(이 글을 쓰는 시점) v7.59.0 빌드(적절하게 Win32 또는 Win64 버전) 중 하나를 사용할 수 있습니다.
업데이트:
Viktor Szakats 빌드는 분명히cURL의 공식 Windows 빌드(이는 여전히 권장되며 32비트/64비트 버전에서 사용할 수 있습니다.)
다운로드가 완료되면 파일의 압축을 풀고 원하는 영구 폴더에 콘텐츠를 넣기만 하면 됩니다. curl.exe
cURL을 사용할 때마다 전체 경로를 사용하지 않으려면 curl.exe
Windows에 등록하는 것이 좋습니다 Path
( 공식 Windows 빌드용 Szakats 빌드 폴더 curl.exe
에 있음 ).bin
쿠키 얻기
브라우저를 사용하여 최신 Chromium 스타일 브라우저(Firefox, Chrome, Opera 등)에 포함된 개발자 콘솔을 통해 cURL(또는 선택한 프로그램)과 함께 사용하는 데 필요한 CSRF 토큰 및 Laravel 세션 ID를 얻을 수 있습니다. 추가 이점으로 아래 단계를 수행하면 기본 cURL 명령도 얻을 수 있습니다.
"cURL로 복사" 단계:
정상적으로 웹사이트에 로그인하세요.
비디오 페이지로 이동합니다(귀하의 질문에서 이 링크에 나열된 것 중 하나와 같은).
F12(또는 Opera에서는 Ctrl+ Shift+ ) 를 눌러 I개발자 콘솔을 열고회로망오른쪽에 있는 옵션입니다. 사용하기 쉽도록 작은 아이콘을 클릭하는 것이 좋습니다.별도의 창에 표시아이콘(맨 오른쪽)을 사용하여 콘솔을 기본 브라우저 창에서 분리합니다.
비디오 페이지를 다시 로드하되 콘솔을 닫지 마십시오. 콘솔은 HTTP를 포함하여 페이지와 관련된 네트워크 트래픽을 캡처합니다.얻다예를 들어 요청http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4 (로 표시됩니다
GET /?media=rencoded/op/one_piece503.mp4
).요청 이 많으므로
GET
다음을 사용하여 필터링하는 것이 좋습니다.미디어하위 옵션. 다음을 선택하여 쿠키를 미리 볼 수 있습니다.쿠키요청 옵션GET
도 마찬가지입니다.
- 해당
GET
요청을 마우스 오른쪽 버튼으로 클릭하고cURL로 복사메뉴 옵션(아마도cURL로 복사(cmd)크롬에서). 결과 명령을 메모장이나 이와 유사한 곳에 붙여넣습니다.~ 아니다미리 표시됩니다).
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 "쿠키: XSRF-TOKEN=eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF 0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQandDeUd4cGlkUzVtZk 1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZW JlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; laravel_session=eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNup 3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjoOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0"%"3D; wh-widget-cookie=1" -H "DNT: 1" -H "연결: 연결 유지"
CSRF 토큰과 Laravel 세션 ID만 필요한 경우 복사된 명령의 대부분을 제거하고 예를 들면 다음과 같습니다.
"XSRF-TOKEN=eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVpcFwvYzlQand DeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9; eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlI KzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNup3QTNZSW1Z XC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0"%"3D"
; wh-widget-cookie=1"
위에 표시된 대로 쿠키 끝 부분을 안전하게 제거할 수 있어야 합니다 (이 마지막 쿠키는 cURL을 통한 연결에는 필요하지 않은 것 같습니다). 그러나 쿠키가 실제로 필요하지 않다고 판단하지 않는 한 쿠키 주위에 큰따옴표를 두십시오.
cURL을 사용하여 다운로드
있는 그대로, 처음에 복사한 명령에는 요청을 하는 데 필요한 (거의) 모든 데이터가 포함되어 있습니다.http://animax.mn:12000/?media=rencoded/op/one_piece503.mp4. -O
바로 뒤에 (대문자 오) 출력 옵션 curl
과 올바른 URL(필요에 따라)을 추가하면 됩니다 . 예:
컬 -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- --쿠키 "XSRF-TOKEN=eyJpdiI6IkE0WlRudGtmdUlhQWRUTUFndkFPelE9PSIsInZhbHVlIjoiXC95dmFPeGdkWTN6QmZTamNXTUF0MFJOSitHWXdxOE1kRHRQeGVHWURmbVRuWG4zU0lFSW5IZEVp cFwvYzlQandDeUd4cGlkUzVtZk1PaEs2dzRoaDlRUT09IiwibWFjIjoiMDdjNjNmYTFhOWM5 MzhlYmFjNTk5ZmRmNzNiN2IxYTc2ZWJlOWM3MjVlZDM5YWY4ZDQxYTdmMjNjNzNjOWI3MCJ9 laravel_session=eyJpdiI6IjN0VTlEQStvdyt0NXdMeDdTaUhJOUE9PSIsInZhbHVlIjoibXhMQ1dLMFl3M0FUSTlIKzVxcjRqTnpncFFJRGhrZktCaThKeHZxRXRmU1M5VXFWSjR0bjJIKzRHWE1VWFpxNU p3QTNZSW1ZXC9vaW1DaEdGU0k2dCtRPT0iLCJtYWMiOiI0YzYxOTI3ZjRiZTYzZGNkZmZkZmY1YjhjOWMzZGJmM2I1N2EyMjE4ODU1ODkwMGRmYjFhOThjOWZlNmRiZDhkIn0"%"3D" -H "연결: 연결 유지"
빠른 요점으로, 이 경우 헤더 -r 0-
는 주어진 쿠키 외에 cURL에 필요한 원래 URL의 유일한 다른 구성 요소입니다.-H "Range: bytes=0-
Range:
노트
동일한 세션에서 여러 동영상에 동일한 쿠키를 재사용하는 것과 관련하여 오류가 발생하지 않았습니다. 그러나 로그아웃/로그인하면 쿠키가 변경되며, 그렇게 할 때마다 쿠키를 다시 수집하려면 제가 설명하는 단계를 수행해야 합니다.
다운로드를 위해 바이러스 백신 등을 (일시적으로) 비활성화할 수 있습니다.
아마도 유지하는 것이 필요하지 않을 것입니다.https://animax.mn브라우저 창이 열려 있지만 완료되면 로그아웃(또는 재로그인)할 수 있도록 하려고 합니다. 그렇지 않으면 일반적으로 사이트에 대한 세션 처리 기준이 무엇인지 명확하지 않은 것 같습니다.
초기 로그인 요청에서 동일한 쿠키를 (거의?) 가져올 수 있지만
POST
, 확인되지 않은 작은 문제가 있는 것 같았습니다(이것이 바로 요청에서 직접 가져오는 것을 권장하는 이유입니다GET
).쿠키를 복사할 때는 주의해야 할 것입니다. 일반적인 잘라내기/붙여넣기 작업에서는 약간 다루기 어려울 수 있습니다.
낙관주의 대 비관주의
"낙관주의자는 우리가 가능한 모든 세계에서 가장 좋은 세상에 살고 있다고 주장하지만, 비관주의자는 이것이 사실이라고 두려워합니다."
불행히도 이 답변을 테스트하는 동안 나는 할 수 없었습니다.완전히어떤 비디오든 다운로드하세요(부분 다운로드는 손상된 지점까지 작동했지만). 네트워크 연결 상태가 좋지 않고 사이트 디자인이 좋지 않아 다운로드가 중단된 것으로 의심됩니다(일화적으로 사이트를 탐색하는 동안 cURL과 관련 없는 여러 PHP 오류가 발생했습니다).
따라서 cURL의 마일리지와 선택한 사이트는 다를 수 있습니다...