รับ cURLy: 10 สิ่งที่มีประโยชน์ที่คุณสามารถทำได้ด้วย cURL

รับ cURLy: 10 สิ่งที่มีประโยชน์ที่คุณสามารถทำได้ด้วย cURL

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





cat

พิมพ์เนื้อหาไฟล์





ls

แสดงรายการทั้งหมดในไดเร็กทอรีและ





du

แสดงการใช้พื้นที่ดิสก์ อย่างไรก็ตาม เครื่องมือบรรทัดคำสั่งจำนวนมากมีตัวเลือกมากมาย ทั้งหมดอธิบายไว้อย่างเรียบร้อยใน

man

ไฟล์. บางคนสามารถทำสิ่งมหัศจรรย์เมื่อรวมกับคำสั่งอื่นๆ



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

คราวนี้เราเน้นที่ cURL เป็นเครื่องมือสำหรับถ่ายโอนข้อมูลผ่านโปรโตคอลอินเทอร์เน็ตจำนวนมาก เช่น HTTP(S), FTP, Telnet, LDAP, IMAP, POP3, SMTP และอื่นๆ





ในแง่ที่ง่ายกว่า cURL ดำเนินการตามคำขอต่างๆ จากลูกค้าไปยังเซิร์ฟเวอร์ สร้างการเชื่อมต่อระหว่างพวกเขาโดยใช้โปรโตคอลเฉพาะและวิธีการที่เกี่ยวข้อง ตัวอย่างเช่น ในฐานะไคลเอนต์ HTTP cURL สามารถส่งคำขอเพื่อดูหรือดาวน์โหลดเนื้อหา (วิธีคำขอ GET) หรือเพื่อโพสต์เนื้อหาผ่านแบบฟอร์มบนเว็บไซต์ (วิธีคำขอ POST) เว็บแอปพลิเคชันและบริการจำนวนมากอนุญาตให้ cURL โต้ตอบกับ API (Application Programming Interface)

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





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

1. รับรายงานสภาพอากาศ

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

curl http://wttr.in/LOCATION

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

curl wttr.in/Moon

2. ดาวน์โหลดไฟล์และดาวน์โหลดต่อ

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

curl -O -C - https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf

สวิตช์ O ตัวพิมพ์ใหญ่ (-O) ทำให้ cURL บันทึกไฟล์ด้วยชื่อไฟล์เริ่มต้น (โดยปกติมาจากลิงก์เอง) หากคุณต้องการบันทึกโดยใช้ชื่ออื่น คุณจะต้องใช้ตัวพิมพ์เล็ก o ตามด้วยชื่อใหม่:

curl -o magazine.pdf -C - https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf

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

pwd

สั่งการ). หากต้องการบันทึกไว้ที่อื่น ให้ระบุเส้นทางหลังสวิตช์ -o สวิตช์ -C - ช่วยให้ cURL สามารถดาวน์โหลดต่อได้ คุณต้องหยุดชั่วคราวโดยกด Ctrl+C ในเทอร์มินัล และดำเนินการต่อโดยใช้คำสั่งดาวน์โหลดเดิมอีกครั้ง:

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

หากต้องการดาวน์โหลดไฟล์หลายไฟล์พร้อมกัน ให้ระบุลิงก์ทีละรายการ:

curl -O file1.txt -O file2.pdf -O file3.zip

ด้วยความช่วยเหลือของเครื่องมือบรรทัดคำสั่งอื่นๆ เราสามารถดาวน์โหลดภาพ PNG และ JPG ทั้งหมดเป็นชุดจากบล็อก Tumblr:

curl http://concept-art.tumblr.com/ | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2 | while read l; do curl '$l' -o '${l##*/}'; done

ในกรณีนี้,

cut

และ

grep

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

curl http://concept-art.tumblr.com/ | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2

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

curl http://concept-art.tumblr.com/page/[1-7] | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2

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

curl http://concept-art.tumblr.com/page/[1-7] | grep -o 'src='[^']*.[png-jpg]'' | cut -d' -f2 | while read l; do curl '$l' -o '${l##*/}'; done

หากคุณรอบรู้ใน นิพจน์ทั่วไป คุณสามารถปรับปรุงรูปลักษณ์และประสิทธิภาพของคำสั่งนี้ และแบ่งปันผลลัพธ์ในความคิดเห็น

3. จัดการไฟล์บนเซิร์ฟเวอร์ FTP

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

curl ftp://ftp.debian.org/debian/

หากต้องการป้อนไดเรกทอรีย่อย ให้พิมพ์ชื่อตามด้วยเครื่องหมายทับ (/)

การดาวน์โหลดไฟล์คล้ายกับการดาวน์โหลด HTTP ที่อธิบายไว้ในส่วนก่อนหน้า คุณสามารถใช้ -o หรือ -O และเพิ่ม -C - หากคุณต้องการหยุดการดาวน์โหลดชั่วคราว

curl -O ftp://ftp.heanet.ie/mirrors/linuxmint.com/stable/17.3/linuxmint-17.3-kde-64bit.iso

แม้ว่า cURL จะไม่รองรับการดาวน์โหลดแบบเรียกซ้ำ (อย่าลืมว่า wget รองรับ!) แต่ก็ยังสามารถดาวน์โหลดไฟล์หลาย ๆ ไฟล์พร้อมกันได้ เงื่อนไขเดียวคือชื่อไฟล์เป็นไปตามรูปแบบ ตัวอย่างเช่น เราสามารถดาวน์โหลดจากเซิร์ฟเวอร์การโฮสต์วอลเปเปอร์ โดยที่วอลเปเปอร์ทั้งหมดมีชื่อว่า 'wallpaperNUMBER':

curl -O ftp://ftp.myserver.com/files/wallpaper[0-120].jpg

เซิร์ฟเวอร์ FTP บางตัวต้องมีการตรวจสอบสิทธิ์ก่อนจึงจะสามารถดาวน์โหลดไฟล์ได้ cURL ให้คุณเข้าสู่ระบบด้วยตัวเลือก -u (ผู้ใช้):

curl -u username:password -O ftp://ftp.protectedserver.com/files/example.txt

คุณยังสามารถอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ FTP ด้วยตัวเลือก -T (โอน):

curl -u username:password -T /home/user/Documents/test.txt ftp://ftp.myserver.com

คุณยังสามารถกำหนดหลายไฟล์เป็นช่วงได้ที่นี่ คุณลักษณะนี้บางครั้งเรียกว่า 'globbing' หากชื่อไฟล์ไม่เป็นไปตามรูปแบบ ให้ระบุชื่อไฟล์ในวงเล็บปีกกา (

-T '{file1.txt,image27.jpg}'

). ในทางกลับกัน หากชื่อคล้ายกัน ให้ใช้ตรรกะเดียวกันจากตัวอย่างการดาวน์โหลด Tumblr และใช้วงเล็บเหลี่ยม (

-T 'photo[1-50].jpg'

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

4. ตรวจสอบว่าเว็บไซต์ล่มหรือไม่

เราทุกคนเคยไปที่นั่น เว็บไซต์ที่คุณต้องการหยุดทำงานกะทันหัน จากนั้น Facebook จะไม่โหลด เผชิญปัญหาโลกที่หนึ่งที่แท้จริง คุณจะทำอย่างไร?

คุณสามารถใช้ Google ได้ ขอให้เพื่อนทดสอบให้คุณ หรือใช้หนึ่งในไซต์ที่ให้บริการครั้งเดียวที่บอกคุณว่าเว็บไซต์ล่มหรือไม่ หรือคุณสามารถเปิดเครื่องเทอร์มินัลแล้วเรียกใช้ cURL:

curl -Is https://www.twitter.com -L | grep HTTP/

ตัวพิมพ์ใหญ่ I switch (-I) ตรวจสอบส่วนหัว HTTP ของหน้าเว็บ และเพิ่มตัวเลือก -L (ตำแหน่ง) เพื่อให้ cURL ติดตามการเปลี่ยนเส้นทาง ซึ่งหมายความว่าคุณไม่จำเป็นต้องพิมพ์ URL ของ Facebook แบบเต็ม แค่เขียน facebook.com และ cURL จะดูแลส่วนที่เหลือด้วย -L หากมีการเปลี่ยนเส้นทาง ระบบจะแสดงสถานะ HTTP ของตนเอง

ข้อความที่เราสนใจคือ '200 OK' ซึ่งหมายความว่าทุกอย่างเรียบร้อยดีกับเว็บไซต์ ถ้ามันล่มจริง ๆ คุณจะเห็นสิ่งนี้:

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

5. ขยาย URL แบบย่อ

URL แบบย่อไม่ได้แย่โดยเนื้อแท้ หากไม่มีลิงก์เหล่านี้ จะเป็นการยากที่จะแชร์ลิงก์บน Twitter และเครือข่ายโซเชียลอื่นๆ ที่จำกัดตัวละคร บริการย่อ URL บางอย่างเสนอการวิเคราะห์ที่เป็นประโยชน์เช่นกัน แต่มีความเสี่ยงเสมอที่ใครบางคนพยายามซ่อนเนื้อหาที่เป็นอันตรายหลัง URL ที่สั้นลง หรือการที่โทรลล์กำลังปิดบัง Rickroll (หรืออะไรที่แย่กว่านั้นมาก) หากคุณเคยรู้สึกสงสัยเกี่ยวกับ URL แบบย่อด้วยเหตุผลใดก็ตาม cURL สามารถช่วยคุณขยายและค้นหาว่า URL ดังกล่าวนำไปสู่ที่ใด:

curl -sIL http://buff.ly/1lTcZSM | grep ^Location;

หรือ

curl -sI http://buff.ly/1lTcZSM | sed -n 's/Location: *//p';

คุณสามารถรวม cURL กับ

grep

หรือ

sed

; ความแตกต่างหลักอยู่ในการจัดรูปแบบ Sed เป็นหนึ่งในเครื่องมือที่ผู้ใช้ Linux ทุกคนควรรู้ และช่วยเสริม cURL ในกรณีนี้และกรณีการใช้งานอื่นๆ สองสามกรณี อย่าลืมว่า cURL สามารถดาวน์โหลดไฟล์จาก URL แบบย่อได้ (โดยที่ URL นั้นชี้ไปที่ไฟล์จริง ๆ ):

curl -L -o filename.txt http://short.url

ไวยากรณ์เหมือนกับการดาวน์โหลด cURL อื่นๆ และตัวเลือก -L จะดูแลการเปลี่ยนเส้นทางจาก URL ที่สั้นลงไปยัง URL ดั้งเดิม

6. แสดงความขอบคุณสำหรับ ASCII Art

เป็นที่ยอมรับว่าไม่มีประโยชน์อย่างยิ่ง แต่ดูดี ด้วยความช่วยเหลือของ

pv

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

curl -s http://artscene.textfiles.com/vt100/wineglas.vt | pv -L9600 -q

ตัวเลือก -s และ -q ทำให้ทั้งสองคำสั่งอยู่ในโหมดเงียบ (เงียบ) ตัวเลือก -L ในที่นี้อ้างอิงถึงคำสั่ง pv และให้คุณแก้ไขอัตราการถ่ายโอนข้อมูลเป็นไบต์ต่อวินาที กล่าวคือ หากภาพเคลื่อนไหวเคลื่อนที่เร็วหรือช้าเกินไป ให้ลองเล่นกับตัวเลขนั้น นอกเหนือจากแอนิเมชั่นแล้ว cURL สามารถแสดงงานศิลปะ ASCII แบบคงที่ธรรมดาได้:

เว็บมีเว็บไซต์มากมายที่มีงานศิลปะ ASCII ทุกประเภท ตั้งแต่ชิ้นส่วนคุณภาพสูงที่มีรายละเอียดน่าทึ่งไปจนถึงเนื้อหาที่แปลกประหลาด ไร้สาระ และแม้แต่ NSFW เทคนิคศิลปะดิจิทัลนี้มีขึ้นในทศวรรษที่ 1960 และในปัจจุบันนี้เป็นส่วนหนึ่งของวัฒนธรรมและประวัติศาสตร์อินเทอร์เน็ต ซึ่งยังคงมีชีวิตอยู่ในคอลเล็กชันและเครื่องมือมากมายที่ช่วยให้คุณ แปลงข้อความและรูปภาพเป็น ASCII art . คุณสามารถใช้มันเพื่อตกแต่งท่าเรือของคุณหรือเล่นตลกกับเพื่อน ๆ อะไรก็ได้ที่ลอยอยู่บนเรือของคุณ

7. ทดลองกับโซเชียลมีเดีย

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

สำหรับ Twitter นั้นเคยสามารถจัดการได้โดยตรงจากเทอร์มินัลด้วย cURL จากนั้น Twitter ก็เปลี่ยน API และตอนนี้ก็มีไคลเอนต์ cURL พิเศษสำหรับ Twitter ชื่อ Twurl ไม่ใช่สิ่งที่ง่ายที่สุดในการใช้งาน โดยเฉพาะอย่างยิ่งสำหรับผู้เริ่มต้น และต้องมีการตรวจสอบสิทธิ์ด้วยแพลตฟอร์มโฆษณา Twitter สิ่งนี้เหมาะสมหากคุณเป็นนักพัฒนาหรือผู้ใช้ขั้นสูง แต่ไม่มากถ้าคุณต้องการทวีตจากบรรทัดคำสั่ง ยังคงมีวิธีสนุกกับ Twitter คุณสามารถใช้ cURL เพื่อตรวจสอบจำนวนผู้ติดตามของผู้ใช้:

curl -s https://twitter.com/username | grep -o '[0-9,]* Followers';

8. ค้นหาที่อยู่ IP ภายนอกของคุณ

การค้นหาที่อยู่ IP ในเครื่องของคุณนั้นง่ายพอ -- แค่เรียกใช้

ฉันจะเปลี่ยนบัญชี Google เริ่มต้นใน chrome ได้อย่างไร
ifconfig

หรือปรึกษาแอปเพล็ตการจัดการเครือข่ายของคุณ สำหรับ IP ภายนอก คนส่วนใหญ่ใช้เว็บไซต์เฉพาะเพื่อรับข้อมูลนี้ ถึงกระนั้น บางสิ่งก็ทำได้ง่ายกว่าจากเทอร์มินัล และอาจเป็นหนึ่งในนั้น คุณยังสามารถสร้างนามแฝงสำหรับคำสั่ง cURL มีบริการออนไลน์หลายอย่างที่ร่วมมือกับ cURL:

curl ipinfo.io
curl -s https://4.ifcfg.me
curl -s http://whatismyip.akamai.com
curl ifconfig.me
curl -s icanhazip.com

บางคนสามารถบอกคุณเพิ่มเติมเกี่ยวกับที่อยู่ IP ภายนอก:

curl ipinfo.io/207.46.13.41
curl ifconfig.me/207.46.13.41

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

9. วางข้อความและแชร์รูปภาพ

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

Clbin และ Sprunge.us มีไวยากรณ์ที่คล้ายกัน ด้วย Clbin คุณไพพ์ไฟล์ในเครื่องหรือผลลัพธ์ของคำสั่ง และมันจะส่งคืนลิงก์ไปยังข้อความที่คุณอัปโหลด:

cat textfile.txt | curl -F 'clbin=<-' https://clbin.com

นอกจากนี้ยังรองรับการอัปโหลดรูปภาพ (PNG, JPG และ GIF):

curl -F 'clbin=@image.png' https://clbin.com

หากคุณต้องการใช้ Sprunge.us แทน ให้พิมพ์:

cat textfile.txt | curl -F 'sprunge=<-' http://sprunge.us

Sprunge.us ไม่รองรับการอัปโหลดรูปภาพในขณะนี้

Ix.io ใช้หลักการเดียวกับบริการสองรายการก่อนหน้านี้ โดยมีคุณสมบัติพิเศษบางประการ หากต้องการอัปโหลดไฟล์ ให้พิมพ์:

cat file.txt | curl -F 'f:1=<-' ix.io

หรือ

curl -F 'f:1=@file.txt' ix.io

เมื่อคุณได้รับลิงก์ไปยังข้อความที่อัปโหลด คุณสามารถแก้ไข URL ของข้อความนั้นเพื่อแสดงการเน้นไวยากรณ์ (ด้วย

ix.io/yourpaste+

,

ix.io/yourpaste/

, หรือ

ix.io/yourpaste/language

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

'read:1'

ค่า:

cat file.txt | curl -F 'f:1=<-' -F 'read:1=2' ix.io

Ix.io มีไว้สำหรับไฟล์แบบข้อความเป็นหลัก เช่น ซอร์สโค้ดหรือบันทึกของระบบ หากคุณต้องการอัปโหลดไฟล์รูปแบบต่างๆ ให้ใช้ Transfer.sh . รองรับรูปภาพ การเข้ารหัสไฟล์ และเก็บไฟล์ของคุณออนไลน์เป็นเวลาสองสัปดาห์ คุณสามารถอัปโหลดข้อมูลได้ถึง 5 GB ไปยัง Transfer.sh นี่คือวิธี:

curl --upload-file bunnies.jpg https://transfer.sh/bunnies.jpg

คุณมีอิสระในการกำหนดชื่อไฟล์ที่อัปโหลด หากต้องการอัปโหลดหลายไฟล์ ให้แสดงรายการทีละไฟล์โดยใช้ตัวเลือก -F:

curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/

10. ตรวจสอบเมลที่ยังไม่ได้อ่านบน GMail

มีศักยภาพมหาศาลที่จะปลดล็อคใน cURL หากคุณต้องการเจาะลึกรายละเอียดของโปรโตคอลที่เกี่ยวข้องกับอีเมล (SMTP, POP, IMAP) สำหรับการตรวจสอบอีเมลอย่างรวดเร็ว คำสั่งนี้จะทำ มันแยกวิเคราะห์ฟีด GMail ของคุณและจัดรูปแบบผลลัพธ์ (หัวเรื่องอีเมลและผู้ส่ง) ด้วย

tr

,

awk

,

sed

และ/หรือ

grep

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


curl -u username:password --silent 'https://mail.google.com/mail/feed/atom' | tr -d '
' | awk -F '' '{for (i=2; i<=NF; i++) {print $i}}' | sed -n 's/

curl -u username:password --silent 'https://mail.google.com/mail/feed/atom' | grep -oPm1 '(?<=)[^<]+' | sed '1d'

cURL สามารถทำอะไรได้อีก?

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

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

เครดิตรูปภาพ: บทนำภายในบรรทัดคำสั่ง โดย Osama Khalid ผ่าน Flickr

แบ่งปัน แบ่งปัน ทวีต อีเมล ลบไฟล์และโฟลเดอร์ Windows เหล่านี้เพื่อเพิ่มพื้นที่ว่างในดิสก์

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

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • ลินุกซ์
  • FTP
  • ดาวน์โหลดการจัดการ
  • เทอร์มินัล
เกี่ยวกับผู้เขียน Ivana Isadora Devcic(เผยแพร่บทความ 24 รายการ)

Ivana Isadora เป็นนักเขียนและนักแปลอิสระ คนรัก Linux และแฟนเกิร์ลของ KDE เธอสนับสนุนและส่งเสริมซอฟต์แวร์โอเพ่นซอร์สและฟรี และเธอก็มองหาแอปที่ใหม่และสร้างสรรค์อยู่เสมอ ดูวิธีการติดต่อ ที่นี่ .

เพิ่มเติมจาก Ivana Isadora Devcic

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก