15 ຄຳ ແນະ ນຳ ກ່ຽວກັບວິທີການໃຊ້ ຄຳ ສັ່ງ Curl ໃນ Linux


ກັບມາໃນກາງຊຸມປີ 1990 ໃນເວລາທີ່ອິນເຕີເນັດຍັງຢູ່ໃນໄວເດັກ, ນັກຂຽນໂປແກຼມຊາວສະວີເດັນທີ່ຊື່ວ່າ Daniel Stenberg ໄດ້ເລີ່ມຕົ້ນໂຄງການ ໜຶ່ງ ໃນທີ່ສຸດກໍ່ໄດ້ເຕີບໃຫຍ່ເປັນສິ່ງທີ່ພວກເຮົາຮູ້ວ່າເປັນສິ່ງທີ່ດັງໃນປະຈຸບັນ.

ໃນເບື້ອງຕົ້ນ, ລາວມີຈຸດປະສົງໃນການພັດທະນາ bot ທີ່ສາມາດດາວໂຫລດອັດຕາແລກປ່ຽນເງິນຕາຈາກເວບໄຊທ໌ໃນແຕ່ລະໄລຍະແລະຈະໃຫ້ບໍລິສັດສະກຸນເງິນ Kronor ຂອງສະວີເດັນເປັນເງິນໂດລາສະຫະລັດແກ່ຜູ້ຊົມໃຊ້ IRC.

ເລື່ອງສັ້ນຍາວໆ, ໂຄງການໄດ້ເຕີບໃຫຍ່ຂະຫຍາຍຕົວ, ເພີ່ມພິທີການແລະຄຸນສົມບັດຫລາຍຢ່າງຕາມທາງ - ແລະສ່ວນທີ່ເຫລືອແມ່ນປະຫວັດສາດ ຕອນນີ້ໃຫ້ຍ່າງດ້ວຍຕີນທັງສອງເບື້ອງແລະຮຽນຮູ້ວິທີການໃຊ້ curl ເພື່ອໂອນຂໍ້ມູນແລະອື່ນໆໃນ Linux!

ພວກເຮົາໄດ້ເອົາໃຈໃສ່ບັນຊີລາຍຊື່ຕໍ່ໄປນີ້ຂອງ 15 ຄໍາສັ່ງ 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
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: 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 space) ບອກ 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 < listurls.txt

6. ໃຊ້ໂປແກຼມ Proxy ທີ່ມີຫຼືບໍ່ມີການກວດສອບຄວາມຖືກຕ້ອງ

ຖ້າທ່ານຢູ່ເບື້ອງຫລັງຂອງ server ທີ່ ກຳ ລັງຟັງຢູ່ port 8080 ທີ່ proxy.yourdomain.com, ເຮັດ.

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

ບ່ອນທີ່ທ່ານສາມາດຂ້າມ -U ຜູ້ໃຊ້: ລະຫັດຜ່ານຖ້າຕົວແທນຂອງທ່ານບໍ່ຕ້ອງການການກວດສອບ.

7. ຫົວຂໍ້ການສອບຖາມ HTTP

ຫົວຂໍ້ HTTP ອະນຸຍາດໃຫ້ເຄື່ອງແມ່ຂ່າຍເວັບໄຊທ໌ຫ່າງໄກສອກຫຼີກສົ່ງຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບຕົວມັນເອງພ້ອມກັບຄໍາຮ້ອງຂໍຕົວຈິງ. ນີ້ໃຫ້ລາຍລະອຽດກ່ຽວກັບວິທີການຮ້ອງຂໍໃຫ້ມີການຈັດການກັບລູກຄ້າ.

ເພື່ອສອບຖາມຫົວຂໍ້ HTTP ຈາກເວບໄຊທ໌, ໃຫ້ເຮັດ:

$ curl -I linux-console.net

ຂໍ້ມູນນີ້ແມ່ນມີຢູ່ໃນເຄື່ອງມືນັກພັດທະນາຂອງຕົວທ່ອງເວັບຂອງທ່ານ.

8. ເຮັດການຮ້ອງຂໍ POST ກັບ Parameters

ຄຳ ສັ່ງຕໍ່ໄປນີ້ຈະສົ່ງພາລາມິເຕີ ທຳ ອິດແລະນາມສະກຸນ, ພ້ອມກັບຄ່າທີ່ສອດຄ້ອງກັນ, ໄປທີ່ https://yourdomain.com/info.php.

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

ທ່ານສາມາດໃຊ້ ຄຳ ແນະ ນຳ ນີ້ເພື່ອ ຈຳ ລອງພຶດຕິ ກຳ ຂອງແບບຟອມ HTML ທຳ ມະດາ.

9. ດາວໂຫລດໄຟລ໌ຈາກ FTP Server ດ້ວຍຫລືບໍ່ມີການກວດສອບຄວາມຖືກຕ້ອງ

ຖ້າເຄື່ອງແມ່ຂ່າຍ FTP ຫ່າງໄກສອກຫຼີກຄາດວ່າຈະມີການເຊື່ອມຕໍ່ທີ່ ftp:/yourftpserver, ຄຳ ສັ່ງຕໍ່ໄປນີ້ຈະດາວໂຫລດ yourfile.tar.gz ໃນໄດເລກະທໍລີເຮັດວຽກໃນປະຈຸບັນ.

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

ບ່ອນທີ່ທ່ານສາມາດຂ້າມ -u ຊື່ຜູ້ໃຊ້: ລະຫັດຜ່ານຖ້າເຄື່ອງແມ່ຂ່າຍ FTP ອະນຸຍາດໃຫ້ເຂົ້າສູ່ລະບົບໂດຍບໍ່ລະບຸຊື່.

10. ອັບໂຫລດເອກະສານເຂົ້າໃນ FTP server ໂດຍມີຫລືບໍ່ມີການກວດສອບຄວາມຖືກຕ້ອງ

ເພື່ອອັບໂຫລດເອກະສານທ້ອງຖິ່ນທີ່ມີຊື່ວ່າ 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. ເກັບຮັກສາເວັບໄຊທ໌ Cookies

ຕ້ອງການເບິ່ງວ່າມີ cookies ໃດທີ່ດາວໂຫລດໄວ້ໃນຄອມພິວເຕີຂອງທ່ານເມື່ອທ່ານເຂົ້າໄປທີ່ https://www.cnn.com? ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອບັນທຶກພວກມັນໄວ້ໃນ cnncookies.txt. ຈາກນັ້ນທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງ cat ເພື່ອເບິ່ງເອກະສານ.

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

13. ສົ່ງ Cookies ເວບໄຊທ໌

ທ່ານສາມາດໃຊ້ cookies ທີ່ເກັບມາຈາກ ຄຳ ແນະ ນຳ ສຸດທ້າຍໃນການຮ້ອງຂໍຕໍ່ໄປຫາເວັບໄຊດຽວກັນ.

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

14. ແກ້ໄຂການແກ້ໄຂຊື່

ຖ້າທ່ານເປັນນັກພັດທະນາເວບໄຊທ໌ແລະຕ້ອງການທົດສອບສະບັບທ້ອງຖິ່ນຂອງ yourdomain.com ກ່ອນທີ່ຈະກົດມັນ, ທ່ານສາມາດແກ້ໄຂບັນຫາ 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 ແລະໄດ້ອະທິບາຍວິທີການ ນຳ ໃຊ້ມັນຜ່ານ 15 ຕົວຢ່າງພາກປະຕິບັດ.

ທ່ານຮູ້ກ່ຽວກັບຄໍາສັ່ງ curl ອື່ນໆທີ່ພວກເຮົາອາດຈະພາດໃນບົດຂຽນນີ້ບໍ? ຮູ້ສຶກວ່າບໍ່ເສຍຄ່າທີ່ຈະແບ່ງປັນໃຫ້ພວກເຂົາກັບຊຸມຊົນຂອງພວກເຮົາໃນ ຄຳ ເຫັນ! ນອກຈາກນີ້, ຖ້າທ່ານມີ ຄຳ ຖາມຮູ້ສຶກບໍ່ເສຍຄ່າທີ່ຈະແຈ້ງໃຫ້ພວກເຮົາຊາບ. ພວກເຮົາຫວັງວ່າຈະໄດ້ຍິນຂ່າວຈາກທ່ານ!