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

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

คำสั่ง curl สามารถใช้เพื่อถ่ายโอนไฟล์โดยใช้รูปแบบต่างๆเช่น http, https, ftp และแม้แต่ smb

คู่มือนี้จะแสดงวิธีการใช้คำสั่งและจะแนะนำคุณกับสวิตช์และคุณสมบัติที่สำคัญจำนวนมาก

การใช้ Command Curl Basic

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

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

ม้วน http://linux.about.com/cs/linux101/g/curl.htm

ผลลัพธ์จะเลื่อนขึ้นในหน้าต่างเทอร์มินัลและจะแสดงรหัสสำหรับเว็บเพจที่เชื่อมโยง

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

ม้วน http://linux.about.com/cs/linux101/g/curl.htm | มากกว่า

ส่งเนื้อหาของ curl ไปยังแฟ้ม

ปัญหาเกี่ยวกับการใช้คำสั่ง curl ขั้นพื้นฐานคือข้อความเลื่อนเร็วมากและถ้าคุณกำลังดาวน์โหลดไฟล์เช่นภาพ ISO คุณไม่ต้องการให้เอาต์พุตมาตรฐานนี้

ในการบันทึกเนื้อหาลงในไฟล์ทั้งหมดที่คุณต้องทำคือระบุการลบ o (-o) ดังนี้:

curl -o

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

curl -o curl.htm http://linux.about.com/cs/linux101/g/curl.htm

หลังจากดาวน์โหลดไฟล์แล้วคุณสามารถเปิดไฟล์ในโปรแกรมแก้ไขหรือโปรแกรมดีฟอลต์ตามประเภทไฟล์ได้

คุณสามารถลดความซับซ้อนของข้อมูลนี้ได้โดยใช้สวิตช์ลบ O (-O) ดังนี้:

curl -O http://linux.about.com/cs/linux101/g/curl.htm

ซึ่งจะใช้ส่วนชื่อไฟล์ของ URL และทำให้ชื่อไฟล์เป็น URL ที่ถูกบันทึกไว้ ในตัวอย่างข้างต้นไฟล์จะเรียกว่า curl.htm

รันคำสั่ง Curl ในพื้นหลัง

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

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

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

curl -s -O

เพื่อให้คำสั่งทำงานในพื้นหลังคุณต้องใช้เครื่องหมาย (&) ดังนี้:

curl -s -O &

กำลังดาวน์โหลด URL หลายรายการพร้อม Curl

คุณสามารถดาวน์โหลดได้จากหลาย URL โดยใช้คำสั่ง curl เดียว

ในรูปแบบที่ง่ายที่สุดคุณสามารถดาวน์โหลด URL หลายรายการดังนี้

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

ลองจินตนาการถึงแม้ว่าคุณจะมีโฟลเดอร์ 100 ภาพที่เรียกว่า image1.jpg, image2.jpg, image3.jpg ฯลฯ คุณไม่ต้องการพิมพ์ URL ทั้งหมดเหล่านี้และไม่จำเป็นต้องทำ

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

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

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

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

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

แสดงความคืบหน้า

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

หากคุณต้องการแถบความคืบหน้าแบบง่ายๆซึ่งระบุสวิทช์ลบ hash (- #) ดังนี้:

curl - # -O

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

ลองจินตนาการว่าคุณได้ระบุ URL ไว้เป็นส่วนหนึ่งของคำสั่ง curl และคิดว่าคุณมีที่อยู่ที่ถูกต้องในการดาวน์โหลดไฟล์ขนาดใหญ่เพื่อที่จะได้กลับมาดูภายหลังว่าทั้งหมดที่คุณมีคือหน้าเว็บที่ระบุว่า "หน้าเว็บนี้ถูกเปลี่ยนเส้นทางไปที่ www.blah ดอทคอม" ที่จะน่ารำคาญก็ไม่ได้

คำสั่งขดเป็นฉลาดในการที่จะสามารถปฏิบัติตามการเปลี่ยนเส้นทาง ทั้งหมดที่คุณต้องทำคือการใช้สวิตช์ L ลบ (-L) ดังนี้:

curl -OL

ลดอัตราการดาวน์โหลด

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

โชคดีที่คุณสามารถลดอัตราการดาวน์โหลดได้โดยใช้คำสั่ง curl เพื่อที่จะใช้เวลาในการดาวน์โหลดไฟล์นานขึ้นเพื่อให้ทุกคนมีความสุข

curl -O - จำกัด อัตรา 1m

อัตราสามารถระบุเป็นกิโลไบต์ (k หรือ K) เมกะไบต์ (m หรือ m) หรือกิกะไบต์ (g หรือ G)

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

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

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

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

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

คุณยังสามารถใช้ curl เพื่ออัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ ftp โดยใช้คำสั่งต่อไปนี้:

curl -u ผู้ใช้: รหัสผ่าน -T <ชื่อไฟล์>

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

การส่งผ่านข้อมูลฟอร์มไปยังแบบฟอร์ม

คุณสามารถใช้ Curl เพื่อกรอกแบบฟอร์มออนไลน์และส่งข้อมูลเหมือนกับที่คุณกรอกข้อมูลออนไลน์ บริการที่ได้รับความนิยมมากมายเช่น Google บล็อกการใช้งานประเภทนี้

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

curl -d name = john email=john@mail.com www.mysite.com/formpage.php

มีวิธีการถ่ายโอนข้อมูลรูปแบบต่างๆ คำสั่งข้างต้นใช้ข้อความพื้นฐาน แต่ถ้าคุณต้องการใช้การเข้ารหัสหลายแบบซึ่งจะช่วยให้ถ่ายโอนภาพคุณจำเป็นต้องใช้สวิตช์ F F ()

สรุป

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

หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการม้วนอ่านหน้าคู่มือ