หากคุณทำตามบทช่วยสอนกระจกวิเศษ คุณจะเห็น wget คำสั่งที่ใช้ในการดาวน์โหลดไฟล์บางไฟล์
บทแนะนำนี้จะอธิบายวิธีใช้ wget , เครื่องมือบรรทัดคำสั่งสำหรับการดาวน์โหลดไฟล์ (รับ) ไฟล์จากเว็บ ไม่ว่าจะเป็นผ่าน HTTP, HTTPS, FTP หรือ FTPS
ใช้เพื่อดาวน์โหลดไฟล์จากอินเทอร์เน็ตจาก Linux Shell เรียกใช้จากสคริปต์ Bash – เรียบง่ายและใช้งานได้หลากหลาย และไม่ต้องมีการรบกวนจากผู้ใช้เมื่อเริ่มต้นเพื่อให้สามารถทำงานในพื้นหลังได้
ไวยากรณ์
wget [OPTIONS]... [ URLS ]...
โปรดทราบว่า:
- ตัวเลือก เป็นรายการตัวเลือกที่สามารถส่งผ่านไปยังแอปพลิเคชันได้จากตารางด้านล่าง โดยคั่นด้วยการเว้นวรรค
- URLS เป็นรายการ URL ที่จะดาวน์โหลด โดยคั่นด้วยช่องว่าง
นี่คือ wget ตัวเลือกโดยตรงจากเอกสาร:
ตัวเลือกทั่วไป | |
---|---|
-o logfile | บันทึกข้อความทั้งหมดไปที่ logfile . โดยปกติข้อความจะถูกรายงานไปยังข้อผิดพลาดมาตรฐาน |
-a logfile | ต่อท้าย logfile . สิ่งนี้เหมือนกับ -o เพียงต่อท้ายไฟล์บันทึกแทนที่จะเขียนทับไฟล์บันทึกเก่า หากไม่มีไฟล์บันทึก ระบบจะสร้างไฟล์ใหม่ |
-q | ปิดเอาต์พุตของ Wget |
-i ไฟล์ | อ่าน URL จากภายในหรือภายนอก ไฟล์ . หากใช้ฟังก์ชันนี้ ไม่จำเป็นต้องมี URL ในบรรทัดคำสั่ง |
-t หมายเลข | กำหนดจำนวนครั้งในการลองใหม่เป็น หมายเลข . |
-c | รับไฟล์ที่ดาวน์โหลดบางส่วนต่อ |
-T วินาที | ตั้งค่าระยะหมดเวลาของเครือข่ายเป็น วินาที วินาที. |
-w วินาที | รอตามจำนวนที่ระบุ วินาที ระหว่างการสืบค้นข้อมูล |
–user=user | ตั้งค่าชื่อผู้ใช้การตรวจสอบสิทธิ์ HTTP หรือ FTP |
–รหัสผ่าน=รหัสผ่าน | ตั้งรหัสผ่านการตรวจสอบ HTTP หรือ FTP |
–post-data=string | สร้างคำขอ POST แทน GET และส่งข้อมูล สตริง ควรอยู่ในรูปแบบ “key1=value1&key2=value2” |
-r | เปิดการเรียกซ้ำ |
-l ความลึก | ระบุระดับความลึกสูงสุดของการเรียกซ้ำ ความลึกสูงสุดเริ่มต้นคือ 5. |
-m | เปิดตัวเลือกที่เหมาะสมสำหรับการมิเรอร์ ตัวเลือกนี้จะเปิดการเรียกซ้ำและการประทับเวลา ตั้งค่าความลึกของการเรียกซ้ำที่ไม่สิ้นสุด และเก็บรายการไดเรกทอรี FTP ไว้ |
-p | ตัวเลือกนี้ทำให้ Wget ดาวน์โหลดไฟล์ทั้งหมดที่จำเป็นในการแสดงหน้า HTML ที่กำหนดอย่างถูกต้อง ซึ่งรวมถึงสิ่งต่างๆ เช่น รูปภาพ เสียง และสไตล์ชีตที่ใส่ในบรรทัด |
ตัวอย่าง
ดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ HTTPS
ดาวน์โหลดไฟล์เดียว การใช้งานพื้นฐาน:
wget https://www.example.com/file.zip
ดาวน์โหลดไฟล์ต่อ
หากการดาวน์โหลดเสร็จสิ้นเพียงบางส่วน ให้ดำเนินการต่อ/ดาวน์โหลดต่อด้วยปุ่ม -c ตัวเลือก:
wget -c https://www.example.com/file.zip
ดาวน์โหลดจากรายการไฟล์ ต่อท้ายบันทึก
หากคุณมีไฟล์ข้อความที่มีรายการ URL ที่จะดาวน์โหลด คุณสามารถส่งต่อไปยัง wget ได้โดยตรงและเขียนบันทึกของผลลัพธ์สำหรับการตรวจสอบในภายหลัง:
wget -a log.txt -i url-list.txt
คุณยังสามารถใช้ -o เพื่อเขียนไฟล์บันทึก และมันจะเขียนทับแทนที่จะผนวกไฟล์บันทึกที่มีอยู่ถ้ามีอยู่แล้ว
ดาวน์โหลดไฟล์ ลองใหม่ 5 ครั้ง แบบเงียบๆ
ลองดาวน์โหลดไฟล์อีกครั้งและไม่พิมพ์ความคืบหน้าไปยังเทอร์มินัล:
wget -t 5 -q https://www.example.com/file.zip
ดาวน์โหลดจากรายการไฟล์ รอ 6 วินาทีระหว่างการดาวน์โหลดแต่ละครั้ง โดยหมดเวลา 12 วินาที
รอระหว่างการดาวน์โหลดเพื่อลดการโหลดของเซิร์ฟเวอร์ และยกเลิกหากเซิร์ฟเวอร์ไม่ตอบสนองภายใน 12 วินาที:
wget -w 6 -T 12 -i url-list.txt
ดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ FTPS ซึ่งต้องใช้ชื่อผู้ใช้และรหัสผ่าน
ดาวน์โหลดจากเซิร์ฟเวอร์ FTPS ด้วยชื่อผู้ใช้ bob และรหัสผ่าน เรือ :
wget --user=bob --password=boat ftps://ftp.example.com/file.zip
ดาวน์โหลดไฟล์พร้อมคำขอ POST
สร้างคำขอ HTTP POST แทนคำขอ GET เริ่มต้น และส่งข้อมูล สตริงว่างสามารถส่งด้วย –post-data :
wget --post-data="postcode=2000&country=Australia" https://www.example.com/file.zip
ในตัวอย่างนี้ เรากำลังส่งข้อมูล POST สองส่วน – รหัสไปรษณีย์และประเทศ
หากส่งคำขอ POST cURL จะใช้งานได้หลากหลายมากขึ้น
ดาวน์โหลดไดเร็กทอรีแบบเรียกซ้ำผ่าน FTP พร้อมขีดจำกัดความลึก
การดาวน์โหลดซ้ำจะดาวน์โหลดเนื้อหาของโฟลเดอร์และเนื้อหาของโฟลเดอร์ในโฟลเดอร์นั้น ตัวอย่างนี้มีการกำหนดความลึกที่ 3 ซึ่งหมายความว่าหากโฟลเดอร์ซ้อนกันภายใน 3 โฟลเดอร์อื่น จะไม่ถูกดาวน์โหลด:
wget -r -l 3 ftps://ftp.example.com/path/to/folder
การดาวน์โหลดทั้งไดเรกทอรีรวมถึงเนื้อหาทั้งหมดผ่าน FTP
wget -m ftps://ftp.example.com/path/to/folder
โคลนทั้งหน้าเว็บโดยใช้ Wget
หากคุณต้องการลองใช้ทั้งหน้าเว็บ รวมถึงรูปภาพ สไตล์ และสคริปต์ทั้งหมด คุณสามารถใช้
wget -p https://www.example.com/page.html
ความสำเร็จของคุณจะแตกต่างกันไป – หน้าเว็บสมัยใหม่บางหน้าทำงานได้ไม่ดีนักเมื่อขาดแหล่งที่อยู่อาศัย