ตัวอย่างการใช้งานคำสั่ง Linux Curl

NS ขด คำสั่งโอนไฟล์ผ่านเครือข่ายหรือจากอินเทอร์เน็ตโดยใช้โปรโตคอลทั่วไปต่างๆ รวมถึง HTTP, HTTPS, FTP และ SMB ใช้เพื่อเข้าถึงไซต์ FTP ส่งอีเมล เชื่อมต่อกับที่อยู่ SAMBA อัปโหลดและดาวน์โหลดไฟล์ และงานที่เกี่ยวข้อง

NS ขด คำสั่งมีหลายพารามิเตอร์ คุณสามารถดูรายการพารามิเตอร์เหล่านี้ทั้งหมดได้ใน หน้าคู่มือ curl.

การใช้คำสั่ง 'curl' พื้นฐาน

ในรูปแบบพื้นฐาน ขด ดาวน์โหลดเนื้อหาหน้าเว็บไปที่ หน้าต่างเทอร์มินัล.

ตัวอย่างเช่น ป้อนคำสั่งต่อไปนี้ลงในหน้าต่างเทอร์มินัล:

ขด http://www.google.com

HTML ของหน้า Landing Page ของ Google จะแสดงเป็นเอาต์พุตมาตรฐานของคุณ

กำหนดเนื้อหาของ 'curl' ไปยังไฟล์

เมื่อคุณดาวน์โหลดวัตถุ เช่น อิมเมจ ISO ให้ส่งไปที่ไฟล์แทนที่จะเป็นเอาต์พุตมาตรฐาน

หากต้องการบันทึกเนื้อหาลงในไฟล์ ให้ระบุ -o สลับดังนี้:

curl -o 

ในการดาวน์โหลดหน้าที่ลิงก์ไปยังส่วนการใช้คำสั่งพื้นฐาน ให้ป้อนคำสั่งต่อไปนี้:

curl -o google.htm http://www.google.com
การเปลี่ยนเส้นทาง curl

หลังจากที่ดาวน์โหลดไฟล์แล้ว ให้เปิดในโปรแกรมแก้ไขหรือโปรแกรมเริ่มต้นที่กำหนดโดยประเภทไฟล์

คุณสามารถทำให้สิ่งนี้ง่ายขึ้นได้โดยใช้ปุ่ม -O สลับดังนี้:

ขด -O http://www.google.com/index.html

สวิตช์นี้ใช้ส่วนชื่อไฟล์ของ URL และทำให้เป็นชื่อไฟล์ที่บันทึก URL

NS -o และ -O สวิตช์ต้องอ้างอิงไฟล์เฉพาะ พวกเขาไม่สามารถชี้โดยทั่วไปไปยังโฟลเดอร์หรือ URL ระดับบนสุด NS ขด คำสั่งรายงานข้อผิดพลาดที่ไม่มีความยาวในสถานการณ์ดังกล่าว

เรียกใช้ 'curl' ในพื้นหลัง

โดยค่าเริ่มต้น the ขด คำสั่งจะแสดงแถบความคืบหน้าเพื่อแจ้งให้คุณทราบว่ามีการถ่ายโอนข้อมูลเหลืออยู่เท่าใดและมีการถ่ายโอนข้อมูลจำนวนเท่าใด

หากคุณต้องการเพียงให้คำสั่งทำงานโดยไม่มีแถบความคืบหน้า คุณจะต้องเรียกใช้คำสั่งในโหมดปิดเสียง จากนั้นเรียกใช้เป็น คำสั่งเบื้องหลัง.

ในการรันคำสั่งแบบไม่มีเสียง ให้ใช้คำสั่ง -NS สวิตซ์:

curl -s -O 

ในการรันคำสั่งในเบื้องหลัง ให้ใช้เครื่องหมายและดังต่อไปนี้:

curl -s -O &

วิ่ง ขด คำสั่งที่ไม่มีแถบความคืบหน้าจะคล่องตัวขึ้น แต่คุณจะไม่ทราบว่าการถ่ายโอนจะใช้เวลานานแค่ไหนหรือเวลาโดยประมาณที่ควรจะเสร็จสมบูรณ์

ดาวน์โหลดหลาย URL ด้วย 'curl'

ในรูปแบบที่ง่ายที่สุด ให้ดาวน์โหลด URL หลายรายการพร้อมกันโดยระบุตามลำดับ:

ขด -O http://www.mysite.com/page1.html -O http://www.mysite.com/page2.html

หากต้องการดาวน์โหลดไฟล์จำนวนมากที่มีรูปแบบการตั้งชื่อร่วมกัน ให้ใช้วงเล็บเหลี่ยมเพื่อระบุช่วง ตัวอย่างเช่น หากต้องการรับไฟล์ภาพที่ต่อท้าย 1 ถึง 100 ให้ระบุดังต่อไปนี้:

ขด -O http://www.mysite.com/images/image[1-100].jpg

ใช้วงเล็บปีกกาเพื่อระบุไซต์ที่มีรูปแบบคล้ายกันหลายแห่ง

ตัวอย่างเช่น ในการดาวน์โหลดหน้าดัชนีสำหรับทั้ง www.google.com และ www.bing.com ให้ใช้คำสั่งต่อไปนี้:

ขด -O http://www.{google, bing}.com

เชลล์ของคุณอาจเขียนคำสั่งเหล่านี้ใหม่ตามความจำเป็น เรียนรู้เพิ่มเติมเกี่ยวกับนิพจน์ทั่วไปสำหรับบริบทที่เกี่ยวข้อง

ขดสองไซต์

กำลังแสดงความคืบหน้า

โดยค่าเริ่มต้น the ขด คำสั่งส่งคืนข้อมูลต่อไปนี้เมื่อดาวน์โหลด URL:

  • รวม %: เปอร์เซ็นต์ของการโอนทั้งหมดเสร็จสิ้น
  • รวม ไบต์: ขนาดรวมของการถ่ายโอนเป็นไบต์
  • รับ/โอน %: เปอร์เซ็นต์ของการโอนที่เสร็จสิ้น
  • ไบต์ที่ได้รับ/โอน: จำนวนไบต์ที่ดาวน์โหลด
  • ความเร็วในการดาวน์โหลดเฉลี่ย: ความเร็วในการดาวน์โหลดเป็นไบต์ต่อวินาที
  • ความเร็วในการอัพโหลดเฉลี่ย: ความเร็วในการอัพโหลดเป็นไบต์ต่อวินาที
  • เวลารวม: เวลาโดยประมาณในการดำเนินการปัจจุบันให้เสร็จสิ้น
  • ใช้เวลา: เวลาผ่านไปตั้งแต่เริ่มโอน
  • เวลาเหลือ: เวลาที่คาดว่าจะเสร็จสิ้นการโอน
  • ความเร็วปัจจุบัน: ความเร็วการถ่ายโอนปัจจุบันเป็นไบต์ต่อวินาที

หากคุณต้องการแถบความคืบหน้าอย่างง่าย ให้ระบุ -# สลับดังนี้:

ขด -# -O 

การจัดการการเปลี่ยนเส้นทาง

NS ขด คำสั่งนั้นฉลาดเพราะสามารถติดตามการเปลี่ยนเส้นทางได้ สิ่งที่คุณต้องทำคือใช้ -L สลับดังนี้:

curl -OL 

ดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ FTP

NS ขด คำสั่งจัดการมากกว่าการถ่ายโอนไฟล์ HTTP สามารถจัดการ FTP, GOPHER, SMB, HTTPS และรูปแบบอื่นๆ

ในการดาวน์โหลดไฟล์จาก an เซิร์ฟเวอร์ FTP, ใช้คำสั่งต่อไปนี้:

ผู้ใช้ curl -u: รหัสผ่าน -o 

หากคุณระบุชื่อไฟล์เป็นส่วนหนึ่งของ URL ไฟล์นั้นจะดาวน์โหลดไฟล์ แต่ถ้าคุณระบุชื่อโฟลเดอร์ มันจะส่งคืนรายการโฟลเดอร์

ใช้ ขด เพื่ออัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ FTP โดยใช้คำสั่งต่อไปนี้:

ผู้ใช้ curl -u: รหัสผ่าน -T 

ชื่อไฟล์และใช้รูปแบบเดียวกับการดาวน์โหลดไฟล์ HTTP หลายไฟล์