วิธีดาวน์โหลดไฟล์และโฟลเดอร์จาก Onedrive โดยใช้ wget


17

วิธีใช้ wget เพื่อดาวน์โหลดไฟล์จาก Onedrive (และแบตช์ไฟล์และโฟลเดอร์ทั้งหมดถ้าเป็นไปได้)


1
โปรดดูที่superuser.com/questions/833199/… "ใน Office 365 ฉันจะรับลิงค์ดาวน์โหลดโดยตรงสำหรับเอกสาร Excel ที่เก็บไว้ใน One Drive for Business ได้อย่างไร" เพื่อดูว่าตอบคำถามของคุณหรือไม่
สตีฟ

แต่เป็นบัญชีที่จำเป็นต้องมีการลงทะเบียนใน Office365
JoãoJosé

ใช้ไคลเอนต์ OneDrive ที่ใครบางคนเขียนอย่างนั้นสำหรับ Linux หรือไม่ github.com/xybu/onedrive-d-old
steve

ลองดาวน์โหลดไฟล์ไปยังเบราว์เซอร์ของคุณในขณะที่กำลังดาวน์โหลดให้คลิกขวาและ 'คัดลอกลิงค์ดาวน์โหลด' หากคุณโชคดีคุณสามารถไปที่ลิงค์นั้นได้
Baazigar

ฉันลองใช้ Onedrive-d แต่ไม่สามารถ 'ทำงาน' ได้ จริงๆโดยการคัดลอกลิงก์ไปยังไฟล์และใส่ใน 'wget' มันใช้งานได้ขอบคุณ
JoãoJosé

คำตอบ:


12

มีวิธีหนึ่งที่เหมาะกับฉัน (ขึ้นอยู่กับบทช่วยสอนนี้: https://www.marstranslation.com/blog/how-to-make-direct-link-of-onedrive-files )

  1. คลิกขวาที่ไฟล์ที่คุณสนใจดาวน์โหลด (จากเว็บอินเตอร์เฟส) และเลือกฝัง

  2. กดปุ่ม"สร้างรหัส HTML เพื่อฝังไฟล์นี้"

  3. คัดลอกส่วนที่มีอยู่ใน""ของ src คือลิงค์ของคุณ จะมีลักษณะเช่นนี้

  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. สนุก.


ตกลงตอนนี้ทุกอย่างอยู่ในที่เดียว)
Fedorov7890

หนึ่งต้องไม่ลืมที่จะใส่ลิงค์ในใน"" wgetฉันทำและมันไม่ทำงาน
Dushyant Bangal

@ Fedorov7890 มันไม่ทำงาน ฉันพยายามดาวน์โหลดโฟลเดอร์
Nikhil

มันใช้งานได้กับไฟล์เท่านั้น
Nikhil

5

การใช้ Chrome (แต่ Firefox จะทำงานได้เช่นกัน)

  1. เปิด DevTools
  2. คลิกที่ปุ่มดาวน์โหลด
  3. ดาวน์โหลด แต่ยกเลิกทันที
  4. เปิดแท็บ 'เครือข่าย' ใน DevTools ค้นหา 'Zip? authKey =' ใน DevTools และเปิด (คลิก) นี่คือคำขอ 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 ที่แตกต่างกัน)


รูปแบบที่ง่ายกว่านี้ (ใช้ Firefox) คือ: เครื่องมือ -> ผู้พัฒนาเว็บ -> เครือข่าย ค้นหา 'Zip? authKey =' คลิกขวาและเลือก 'คัดลอกเป็น cURL' คัดลอกวางลงในบรรทัดคำสั่งและเพิ่ม '-o / path / to / some / file' ของหลักสูตรนี้ใช้ cURL แทน wget แต่เพื่อจุดประสงค์นี้พวกเขาทำงานเหมือนกัน
happyskeptic



1

สร้างลิงค์ดาวน์โหลดและต่อท้าย "& 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"

นี้! เป็นวิธีที่ง่ายที่สุดและใช้งานได้
Stefan Seidel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.