เคล็ดลับในการใช้คำสั่ง Curl ใน Linux

ในบทความนี้ เราได้อธิบายเคล็ดลับเกี่ยวกับการใช้คำสั่ง Curl ใน Linux

คำสั่งขดถ่ายโอนข้อมูลไปยังหรือจากเซิร์ฟเวอร์เครือข่ายโดยใช้โปรโตคอลที่สนับสนุน เนื่องจาก cURL ใช้ libcurl จึงสนับสนุนโปรโตคอลเครือข่ายทั่วไปหลายแบบ ในปัจจุบันรวมถึง HTTP,[10][14] HTTPS, คำขอ SOAP

มาเริ่มต้นและเรียนรู้คำสั่ง curl

1. ดู curl Version

ตัวเลือก -V หรือ --version ไม่เพียงแต่ส่งคืนเวอร์ชัน แต่ยังรวมถึงโปรโตคอลและคุณลักษณะที่รองรับในเวอร์ชันปัจจุบันของคุณด้วย

$ curl --version

curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3

โปรโตคอล: ไฟล์ dict ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp

คุณสมบัติ: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets

2. ดาวน์โหลดไฟล์

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

$ curl -O http://yourdomain.com/yourfile.tar.gz # Save as yourfile.tar.gz
$ curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz # Save as newfile.tar.gz

3. ดำเนินการดาวน์โหลดที่ขัดจังหวะต่อ

หากการดาวน์โหลดถูกขัดจังหวะด้วยเหตุผลบางประการ (เช่น การใช้ Ctrl + c) คุณสามารถดำเนินการต่อได้อย่างง่ายดาย การใช้ -C - (dash C, space dash) บอกให้ curl ทำการดาวน์โหลดต่อโดยเริ่มจากจุดที่ค้างไว้

$ curl -C - -O http://yourdomain.com/yourfile.tar.gz

4. ดาวน์โหลดหลายไฟล์

ด้วยคำสั่งต่อไปนี้ คุณจะดาวน์โหลด info.html และ about.html จาก http://yoursite.com และ http://mysite.com ตามลำดับในครั้งเดียว

$ curl -O http://yoursite.com/info.html -O http://mysite.com/about.html

5. ดาวน์โหลด URL จากไฟล์

หากคุณรวม curl กับ xargs คุณสามารถดาวน์โหลดไฟล์ได้จากรายการ URL ในไฟล์

# xargs -n 1 curl -O <>

6. ใช้พร็อกซีที่มีหรือไม่มีการรับรองความถูกต้อง

หากคุณอยู่เบื้องหลังพร็อกซีเซิร์ฟเวอร์ที่กำลังฟังพอร์ต 8080 ที่ proxy.yourdomain.com ให้ทำ

# curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz

ซึ่งคุณสามารถข้าม -U user:password ได้ หากพร็อกซีของคุณไม่ต้องการการพิสูจน์ตัวตน

7. ค้นหาส่วนหัว HTTP

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

หากต้องการสอบถามส่วนหัว HTTP จากเว็บไซต์ ให้ทำดังนี้

# curl -I www.rootadminz.com

8. ทำการร้องขอ POST ด้วย Parameters

คำสั่งต่อไปนี้จะส่งพารามิเตอร์ firstName และ LastName พร้อมกับค่าที่เกี่ยวข้องไปที่ https://yourdomain.com/info.php

# curl --data "firstName=John&lastName=Doe' https://yourdomain.com/info.php

คุณสามารถใช้เคล็ดลับนี้เพื่อจำลองการทำงานของแบบฟอร์ม HTML ปกติ

9. ดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ FTP โดยมีหรือไม่มีการรับรองความถูกต้อง

หากเซิร์ฟเวอร์ FTP ระยะไกลต้องการการเชื่อมต่อที่ ftp://yourftpserver คำสั่ง���่อไปนี้จะดาวน์โหลด yourfile.tar.gz ในไดเร็กทอรีการทำงานปัจจุบัน

# curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz

ซึ่งคุณสามารถข้าม -u username:password หากเซิร์ฟเวอร์ FTP อนุญาตให้เข้าสู่ระบบแบบไม่ระบุชื่อ

10. อัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ FTP โดยมีหรือไม่มีการรับรองความถูกต้อง

ในการอัปโหลดไฟล์ในเครื่องชื่อ mylocalfile.tar.gz ไปยัง ftp://yourftpserver โดยใช้ curl ให้ทำดังนี้

# curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver

11. ระบุตัวแทนผู้ใช้

ตัวแทนผู้ใช้เป็นส่วนหนึ่งของข้อมูลที่ส่งไปพร้อมกับคำขอ HTTP สิ่งนี้บ่งชี้ว่าเบราว์เซอร์ใดที่ไคลเอนต์ใช้ในการส่งคำขอ มาดูกันว่ารุ่น curl ปัจจุบันของเราใช้อะไรเป็นค่าเริ่มต้น แล้วมาเปลี่ยนในภายหลังเป็น “ฉันเป็นเว็บเบราว์เซอร์ใหม่”:

# curl -I http://localhost --user-agent "I am a new web browser'

12. จัดเก็บคุกกี้เว็บไซต์

ต้องการดูว่าคุกกี้ใดถูกดาวน์โหลดลงในคอมพิวเตอร์ของคุณเมื่อคุณเรียกดู https://www.cnn.com? ใช้คำสั่งต่อไปนี้เพื่อบันทึกลงใน cnncookies.txt คุณสามารถใช้คำสั่ง cat เพื่อดูไฟล์ได้

# curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O

13. ส่งคุกกี้เว็บไซต์

คุณสามารถใช้คุกกี้ที่ดึงมาจากเคล็ดลับสุดท้ายในคำขอที่ตามมาในไซต์เดียวกัน

# curl --cookie cnncookies.txt https://www.cnn.com

14. แก้ไขการแก้ไขชื่อ

หากคุณเป็นนักพัฒนาเว็บและต้องการทดสอบเวอร์ชันท้องถิ่นของ yourdomain.com ก่อนเผยแพร่ คุณสามารถแก้ไข curl http://www.yourdomain.com ไปยัง localhost ได้ดังนี้:

# curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/

ดังนั้น แบบสอบถามไปยัง http://www.yourdomain.com จะบอก curl ให้ขอไซต์จาก localhost แทนการใช้ DNS หรือไฟล์ /etc/hosts

15. จำกัดอัตราการดาวน์โหลด

เพื่อป้องกันไม่ให้ curl โฮสต์แบนด์วิดท์ของคุณ คุณสามารถจำกัดอัตราการดาวน์โหลดไว้ที่ 100 KB/s ได้ดังนี้

# curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O

วันนี้เราได้เรียนรู้ว่า Curl คืออะไรและจะใช้คำสั่ง Curl ใน Linux ได้อย่างไร


วิธีสร้างกลุ่มใน Linux

วิธีสร้างกลุ่มใน Linux

กลุ่มใช้เพื่อจัดระเบียบผู้ใช้และสิทธิพิเศษเช่นการอ่านการเขียนและการดำเนินการอนุญาต ในการเพิ่ม groud คำสั่งคือ groupadd

3 วิธีในการตรวจสอบการใช้งาน CPU ใน Linux

3 วิธีในการตรวจสอบการใช้งาน CPU ใน Linux

อธิบาย 3 วิธีในการตรวจสอบการใช้งาน CPU ใน Linux การใช้งาน CPU หมายถึงการใช้ทรัพยากรในการประมวลผล หรือปริมาณงานที่ CPU จัดการ

วิธีการติดตั้งและกำหนดค่า DenyHosts ใน CentOS 7

วิธีการติดตั้งและกำหนดค่า DenyHosts ใน CentOS 7

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

เมานต์ดิสก์ใหม่ไปยังเซิร์ฟเวอร์ Linux

เมานต์ดิสก์ใหม่ไปยังเซิร์ฟเวอร์ Linux

เราจะเรียนรู้วิธีเมานต์ดิสก์ใหม่กับเซิร์ฟเวอร์ Linux สำหรับการสาธิตนี้ เราใช้เซิร์ฟเวอร์คลาวด์ CentOS 7 ตอนนี้เมานต์พาร์ติชั่นดังที่แสดงด้านล่าง

ง่ายต่อการติดตั้ง Fail2ban บน Ubuntu 20.04

ง่ายต่อการติดตั้ง Fail2ban บน Ubuntu 20.04

อธิบายว่าการติดตั้ง Fail2ban บน Ubuntu 20.04 นั้นง่ายเพียงใด Fail2ban เขียนด้วยภาษาโปรแกรม Python และเป็นโอเพ่นซอร์สฟรี การกำหนดค่า

วิธีการติดตั้ง WireGuard VPN บน Ubuntu 20.04

วิธีการติดตั้ง WireGuard VPN บน Ubuntu 20.04

อธิบายวิธีการติดตั้ง WireGuard VPN บน Ubuntu 20.04 เป็นอย่างดี WireGuard เป็น VPN ที่ใช้งานง่าย รวดเร็ว และทันสมัยมากซึ่งใช้การเข้ารหัสที่ล้ำสมัย

วิธีการติดตั้ง OpenSSL 1.1.1d ใน CentOS

วิธีการติดตั้ง OpenSSL 1.1.1d ใน CentOS

OpenSSL เป็นชุดเครื่องมือเต็มรูปแบบที่มีประสิทธิภาพในเชิงพาณิชย์สำหรับโปรโตคอล Transport Layer Security (TLS) & (SSL) เรียนรู้การติดตั้ง OpenSSL 1.1.1d ใน CentOS

วิธีการติดตั้งและกำหนดค่า CSF บน CentOS 8

วิธีการติดตั้งและกำหนดค่า CSF บน CentOS 8

วิธีติดตั้งและกำหนดค่า CSF บนเซิร์ฟเวอร์ CentOS 8 ConfigServer Security & Firewall เป็นไฟร์วอลล์ (SPI) แอปพลิเคชันการเข้าสู่ระบบ/การตรวจจับการบุกรุกและความปลอดภัย

การกำหนดค่ากฎการตรวจสอบไม่สะท้อน – วิธีแก้ไขปัญหา

การกำหนดค่ากฎการตรวจสอบไม่สะท้อน – วิธีแก้ไขปัญหา

การกำหนดค่ากฎการตรวจสอบไม่สะท้อนให้เห็น? เรียนรู้ว่าวิศวกรฝ่ายสนับสนุนของเราแก้ปัญหาและแก้ไขปัญหาได้อย่างไร ไฟล์การกำหนดค่ากฎ /etc/audit/rules.d/audit.rules

CloudLinux โหลดสูงบนเซิร์ฟเวอร์

CloudLinux โหลดสูงบนเซิร์ฟเวอร์

ในบทความนี้ เราจะเรียนรู้วิธีที่วิศวกรฝ่ายสนับสนุนของเราแก้ไขการโหลดสูงของ CloudLinux บนเซิร์ฟเวอร์ โปรดตรวจสอบให้แน่ใจว่าขีดจำกัด LVE ของคุณได้รับการกำหนดค่าอย่างเหมาะสม