wget을 사용하여 Onedrive에서 파일과 폴더를 다운로드하는 방법은 무엇입니까?

wget을 사용하여 Onedrive에서 파일과 폴더를 다운로드하는 방법은 무엇입니까?

wget을 사용하여 Onedrive에서 파일을 다운로드하는 방법은 무엇입니까? (가능한 경우 배치 파일 및 전체 폴더도 포함)

답변1

2021년 4월 업데이트: 이 솔루션은 더 이상 ONEDRIVE FOR BUSINESS에서 작동하지 않는 것 같습니다.

나에게 도움이 된 방법이 있습니다.OneDrive 파일을 직접 연결하는 방법)

  1. 웹 인터페이스에서 다운로드하려는 파일을 마우스 오른쪽 버튼으로 클릭하고 포함을 선택합니다.

  2. ~에 따르면"이 파일에 포함할 HTML 코드를 생성하세요".

  3. ""링크인 src에 포함된 부분을 복사하세요 . 이는 <https://onedrive.live.com/embed?cid=6EBB03E38A53ED3E& resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA>와 같습니다.

  4. embed사용. . . 교체 download. 이것은 다음과 같습니다https://onedrive.live.com/download?cid=6EBB03E38A53ED3E&resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA.

  5. 다음 구문을 사용하여 입력하세요 wget(따옴표 필요).

     wget --no-check-certificate "https://onedrive.live.com/download?cid=6EBB03E38A53ED3E&resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA"
    
  6. 즐기다.

답변2

공유 링크를 생성하고 끝에 "&download=1"을 추가합니다.

예를 들어 링크가 "https://some.host/:z:/x/personal/some_user/123456asdf?e=12345"

그 다음에

wget "https://some.host/:z:/x/personal/some_user/123456asdf?e=12345&download=1"

답변3

Chrome을 사용하세요(단, Firefox도 작동할 수 있습니다).

  1. 개방형 개발 도구
  2. 다운로드 버튼을 클릭하세요.
  3. 다운로드하고 지금 취소하세요
  4. DevTools에서 네트워크 탭을 엽니다. DevTools에서 "Zip?authKey="를 검색하여 엽니다(클릭). 이것은 POST 요청입니다.
  5. 하단의 "양식 데이터" 오른쪽에 있는 "소스 보기"를 클릭하세요.
  6. 건설 명령은 다음과 같습니다.

 

wget --post-data='<raw form data>' '<Download URL>'

또는:

wget --post-data='resIds=xxx&canary=yyy&authkey=zzz' 'https://cid--foobar.users.storage.live.com/downloadfiles/V1/Zip?authKey=zzz'

이는 다른 호스트(다른 IP 주소를 사용)에서 실행될 수도 있습니다.

답변4

전체 다운로드를 원하시면공유 폴더를 공개로 설정(승인되지 않음!):한 번의 죽음

wget을 사용하여 일부 API 호출을 수행한 다음 재귀적으로 파일을 다운로드합니다. 보너스: 파일의 sha1 검사를 완료하세요.

공유 지점현재도 지원되지만 약간 까다롭습니다(현재 링크에 표시된 것보다 드라이브에서 더 많은 파일을 가져옵니다). 가장 큰 문제는 API 구조가 약간 다르고 세션 토큰이 1시간 후에 만료된다는 점이었지만 이 문제도 해결되었습니다. 또한 너무 많은 병렬 다운로드를 시작하지 않도록 일부 속도 제한을 설정하는 것 같습니다.

스크립트는 매개변수를 사용하여 기성 wget명령을 추출할 수 있습니다 -w.

추신: Web API에 대해 더 자세히 알아보고 싶으시면 프로세스를 간략하게 설명하겠습니다.

관련 정보