วิธีใช้คำสั่ง Curl ใน Linux

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

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

ขด เป็นตัวเลือกยอดนิยมสำหรับนักพัฒนาแอปพลิเคชันและผู้ใช้ Linux บ่อยครั้ง เนื่องจากรองรับโปรโตคอลจำนวนมาก เช่น RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, HTTP, HTTPS, FTP, FTPS, IMAP, IMAPS, DICT, ไฟล์, GOPHER, LDAP, LDAPS, POP3, POP3S เป็นต้น

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

การติดตั้ง

ก่อนใช้ ขด คำสั่ง ตรวจสอบว่าได้ติดตั้งไว้ในระบบของคุณแล้วหรือยัง ใช้คำสั่ง curl --version เพื่อตรวจสอบว่า ขด ถูกติดตั้ง

ในกรณีถ้า ขด ไม่ได้ติดตั้ง ใช้ขั้นตอนต่อไปนี้

บนระบบที่ใช้ Ubuntu และ Debian ใช้:

sudo apt-get update
sudo apt-get ติดตั้ง curl

บน RHEL, CentOs และ Fedora distros ใช้:

sudo yum ติดตั้ง curl

ตอนนี้ใช้ curl --version คำสั่งเพื่อให้แน่ใจว่าติดตั้งถูกต้อง

curl --version

เอาท์พุท:

curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30 0 librtmp/2.3 วันที่เผยแพร่: 2018-01-24 โปรโตคอล: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp คุณสมบัติ: AsynchDNS IDN IPLM6 Largefile GSS-API NTberos SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-พร็อกซี PSL gaurav@ubuntu:~$ 

ตอนนี้เราพร้อมที่จะใช้ ขด สั่งการ.

ตัวเลือกที่ใช้ได้กับคำสั่ง CURL

ให้เราดูตัวเลือกที่โดดเด่นบางอย่างที่มีใน .ก่อน ขด สั่งการ.

ตัวเลือกคำอธิบาย
-ยูเพื่อดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ FTP
-คเพื่อดำเนินการต่อการดาวน์โหลดขัดจังหวะ
-oเพื่อบันทึกผลลัพธ์ของ ขด คำสั่งด้วยชื่อไฟล์ที่กำหนดไว้ล่วงหน้า
-ผมเพื่อรับส่วนหัว HTTP ของ URL ที่กำหนด
-Oเพื่อบันทึกผลลัพธ์ของ ขด คำสั่งด้วยชื่อไฟล์เดิม
--libcurlเพื่อส่งออกซอร์สโค้ด C ที่ใช้ libcurl สำหรับตัวเลือกที่ระบุ
-xเพื่อใช้พร็อกซีในการเข้าถึง URL
-#เพื่อแสดงแถบความคืบหน้าเพื่อแสดงสถานะการดาวน์โหลด

การดึงหน้าเว็บโดยใช้ CURL

ดิ ขด คำสั่ง เมื่อใช้โดยไม่มีตัวเลือกใดๆ ให้ดึงเนื้อหาของ URL ที่ระบุในคำสั่ง

ไวยากรณ์:

ขด [URL]

ตัวอย่าง:

curl //allthings.how

เอาท์พุท:

gaurav@ubuntu:~$ curl //allthings.how html{overflow-x:hidden!important}html.i-amphtml-fie{height:100%!important;width:100%!important}html:not([amp4ads] ]),html:not([amp4ads]) เนื้อหา{height:auto!important}html:not([amp4ads]) เนื้อหา{margin:0!important}เนื้อหา{-webkit-text-size-adjust:100%;- moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}html.i-amphtml-singledoc.i-amphtml-embedded{-ms-touch -action:pan-y;touch-action:pan-y}html.i-amphtml-fie>body,html.i-amphtml-singledoc>body{overflow:visible!important}html.i-amphtml-fie:not (.i-amphtml-inabox)>body,html.i-amphtml-singledoc:not(.i-amphtml-inabox)>เนื้อหา{position:relative!important}html.i-amphtml-webview>body{overflow-x :hidden!important;overflow-y:visible!important;min-height:100vh!important}html.i-amphtml-ios-embed-legacy>body{overflow-x:hidden!important;overflow-y:auto!important ;position:absolute!important}html.i-amphtml-ios-embed{overflow-y:auto!important;position:static}#i-amphtml-wrapper{overflow-x:hidden!important;มากกว่า flow-y:auto!important;position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;display:block!important} html.i-amphtml-ios-embed.i-amphtml-ios-overscroll,html.i-amphtml-ios-embed.i-amphtml-ios-overscroll>#i-amphtml-wrapper{-webkit-overflow-scrolling: touch!important}#i-amphtml-wrapper>body{position:relative!important;border-top:1px solid transparent!important}#i-amphtml-wrapper+body{visibility:visible}#i-amphtml-wrapper+body .i-amphtml-lightbox-element,#i-amphtml-wrapper+body[i-amphtml-lightbox]{visibility:hidden}#i-amphtml-wrapper+body[i-amphtml-lightbox] .i-amphtml-lightbox -element{visibility:visible}#i-amphtml-wrapper.i-amphtml-scroll-disabled,.i-amphtml-scroll-disabled{overflow-x:hidden!important;overflow-y:hidden!important}amp-instagram {padding:54px 0px 0px!important;background-color:#fff}amp-iframe iframe{box-sizing:border-box!important}[amp-access][amp-access-hide]{display:none}[การสมัครรับข้อมูล -dialog],body:not(.i-amphtml-s .) ubs-ready) [subscriptions-action],body:not(.i-amphtml-subs-ready) [subscriptions-section]{display:none!important}amp-experiment,amp-live-list>[update]{display :none}.i-amphtml-jank-meter{position:fixed;background-color:rgba(232,72,95,0.5);ด้านล่าง:0;ขวา:0;สี:#fff;ขนาดแบบอักษร:16px; z-index:1000;padding:5px}amp-list[resizable-children]>.i-amphtml-loading-container.amp-hidden{display:none!important}amp-list [fetch-error], amp-list [load-more] [load-more-button],amp-list[load-more] [load-more-end],amp-list[load-more] [load-more-failed],amp-list[โหลด -more] [load-more-loading]{display:none}amp-list[diffable] div[role=list]{display:block}amp-story-page,amp-story[สแตนด์อโลน]{min-height:1px !important;display:block!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;width:100%!important}amp-story[แบบสแตนด์อโลน]{พื้นหลัง- สี:#202125!important;position:relative!important}amp-story-page{background-color:#757575}amp-story .amp-active>div,amp-story .i-amphtm l-loader-background{display:none!important}amp-story-page:not(:first-of-type):not([distance]):not([active]){transform:translateY(1000vh)!important }amp-autocomplete{position:relative!important;display:inline-block!important}amp-autocomplete>input,amp-autocomplete>textarea{padding:0.5rem;border:1px ของแข็ง rgba(0,0,0,0.33) }.i-amphtml-autocomplete-results,amp-autocomplete>input,amp-autocomplete>textarea{font-size:1rem;line-height:1.5rem}[amp-fx^=fly-in]{visibility:hidden} amp-script[nodom]{position:fixed!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;visibility:hidden} 

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

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

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

ไวยากรณ์:

curl -o [ชื่อผู้ใช้กำหนด_ไฟล์] [URL]

ตัวอย่าง:

gaurav@ubuntu:~/workspace$ curl -o ath.html //allthings.how % Total % Received % Xferd เฉลี่ย ความเร็ว เวลา เวลา เวลา ปัจจุบัน Dload อัพโหลด ใช้ไปทั้งหมด ความเร็วที่เหลือ 100 199k 100 199k 0 0 58743 0 0:00:03 0:00:03 --:--:-- 58743 gaurav@ubuntu:~/workspace$ ls ath.html gaurav@ubuntu:~/workspace$ 

ในตัวอย่างนี้ เนื้อหาจาก URL 'allthings.how' จะถูกบันทึกเป็นไฟล์ HTML ชื่อ ath.html ในไดเร็กทอรีการทำงานปัจจุบันของฉัน ในการเปิดไฟล์ HTML นี้ ฉันจะถูกเปลี่ยนเส้นทางไปยังหน้าเว็บที่บันทึกไว้

การดาวน์โหลดไฟล์โดยใช้คำสั่ง CURL

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

ให้เราดูสิ่งนี้ผ่านตัวอย่าง:

ตัวอย่าง:

ที่นี่ฉันได้ใช้ ขด สั่งกับ -O ตัวเลือกในการดาวน์โหลดแพ็คเกจ Ubuntu ชื่อ 'cherrytree_0.37.6-1.1_all.deb' จากที่เก็บแพ็คเกจ Ubuntu

gaurav@ubuntu:~/workspace$ curl -O //kr.archive.ubuntu.com/ubuntu/pool/universe/c/cherrytree/cherrytree_0.37.6-1.1_all.deb % รวม % ที่ได้รับ % Xferd ความเร็วเฉลี่ย เวลา เวลา อัพโหลด Dload ปัจจุบัน ใช้ไปทั้งหมด ซ้าย ความเร็ว 100 613k 100 613k 0 0 220k 0 0:00:02 0:00:02 --:--:-- 220k gaurav@ubuntu:~/workspace$

เอาท์พุท:

trinity@ubuntu:~/workspace$ ls ath.html cherrytree_0.37.6-1.1_all.deb trinity@ubuntu:~/workspace$

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

การแสดงแถบความคืบหน้าขณะดาวน์โหลดไฟล์

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

เรามาดูตัวอย่างการปรับแต่งนี้กัน

ไวยากรณ์:

curl -# -O [URL]

ตัวอย่าง:

gaurav@ubuntu:~/workspace$ curl -# -O //archive.ubuntu.com/ubuntu/pool/main/e/emacs-defaults/emacs-defaults_47.0.tar.xz ######## #################################################### #################################################### ################################### 100.0% gaurav@ubuntu:~/workspace$ 

เอาท์พุท:

gaurav@ubuntu:~/workspace$ ls ath.html cherrytree_0.37.6-1.1_all.deb emacs-defaults_47.0.tar.xz gaurav@ubuntu:~/workspace$ 

ในผลลัพธ์นี้ คุณสามารถสังเกตได้ว่าฉันได้ดาวน์โหลดแพ็คเกจที่ชื่อว่า 'emacs-defaults_47.0.tar.xz' ใน CWD ของฉันและแถบแสดงความคืบหน้าจะปรากฏในเทอร์มินัลในขณะที่กำลังดำเนินการดาวน์โหลด

ดำเนินการต่อการดาวน์โหลดขัดจังหวะใน CURL

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

ดิ ขด คำสั่งเมื่อใช้ร่วมกับ -ค ตัวเลือกดำเนินการดาวน์โหลดที่ถูกขัดจังหวะต่อ

ไวยากรณ์:

curl -C - -O [URL]

ตัวอย่าง:

ในภาพประกอบนี้ ฉันได้ลองดาวน์โหลดอิมเมจ ISO ของ Ubuntu 20.04 จากเว็บไซต์ Ubuntu

gaurav@ubuntu:~/workspace$ curl -O //releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso?_ga=2.212264532.1184373179.1600250922-1570904140.1591164974 % รับทั้งหมด % Xferd ความเร็วเฉลี่ย เวลา เวลา เวลาปัจจุบัน โหลด Dload ทั้งหมดที่ใช้ไป ซ้าย ความเร็ว 0 2656M 0 1744k 0 0 87038 0 8:53:17 0:00:20 8:52:57 77726^C

ที่นี่ ฉันจงใจยกเลิกกระบวนการดาวน์โหลดโดย Ctrl+C.

ตอนนี้ฉันจะใช้ -ค ตัวเลือกด้วย ขด คำสั่งเพื่อดำเนินการดาวน์โหลดที่ถูกขัดจังหวะต่อจากเว็บไซต์ต้นทางเดียวกัน

เอาท์พุท:

gaurav@ubuntu:~/workspace$ curl -C - -O //releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso?_ga=2.212264532.1184373179.1600250922-1570904140.1591164974 ** ดำเนินการโอนต่อจาก ตำแหน่งไบต์ 1851392 % รวม % รับ % Xferd ความเร็วเฉลี่ย เวลา เวลา เวลา เวลาปัจจุบัน โหลด Dload ทั้งหมดที่ใช้ไป ความเร็วซ้าย 0 2654M 0 20.2M 0 0 57940 0 13:20:35 0:06:06 13:14:29 98278

การดาวน์โหลดถูกหยิบขึ้นมาจากตำแหน่งที่ถูกยกเลิก

การดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ FTP โดยใช้ CURL

มันค่อนข้างง่ายด้วย ขด คำสั่งดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ FTP โดยใช้คำสั่ง -ยู ตัวเลือก. คุณต้องใส่ชื่อผู้ใช้และรหัสผ่านในคำสั่งก่อนป้อน URL

ไวยากรณ์:

curl -u [ชื่อผู้ใช้]:[รหัสผ่าน] [URL]

สำหรับภาพประกอบ ฉันจะใช้ FTP สาธารณะออนไลน์

ตัวอย่าง:

gaurav@ubuntu:~/workspace$ curl -O -u [email protected]:eUj8GeW55SvYaswqUyDSm5v6N ftp://ftp.dlptest.com/16-Sep-20-16-0-0.csv % รวม % ที่ได้รับ % Xferd เฉลี่ย ความเร็ว เวลา เวลา เวลาปัจจุบัน โหลด Dload ทั้งหมดที่ใช้ไป ซ้าย ความเร็ว 100 390 100 390 0 0 93 0 0:00:04 0:00:04 --:--:-- 93 gaurav@ubuntu:~/workspace$

ที่นี่ฉันได้ดาวน์โหลดไฟล์ชื่อ '16-ก.ย.-20-16-0-0.csv' จากเซิร์ฟเวอร์ ftp นี้และบันทึกด้วยชื่อเดิมใน CWD ของฉัน ฉันจะตรวจสอบไฟล์ที่ดาวน์โหลดโดยใช้ปุ่ม ลส สั่งการ.

gaurav@ubuntu:~/workspace$ ls -al total 1092 drwxrwxr-x 3 gaurav gaurav 4096 ก.ย. 16 16:15 น. drwxr-xr-x 87 gaurav gaurav 266240 ก.ย. 16 10:22 .. -rw-r--r-- 1 gaurav gaurav 390 ก.ย. 16 16:15 16-Sep-20-16-0-0.csv -rw- r--r-- 1 gaurav gaurav 204429 16 ก.ย. 11:45 ath.html gaurav@ubuntu:~/workspace$

ดาวน์โหลดไฟล์หลายไฟล์พร้อมกันโดยใช้ CURL

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

ไวยากรณ์:

curl -O [URL-1] -O [URL-2] -O[URL-n]

ตัวอย่าง:

gaurav@ubuntu:~/workspace$ curl -O //archive.ubuntu.com/ubuntu/pool/universe/a/aegean/aegean_0.15.2+dfsg-1.debian.tar.xz -O //archive.ubuntu com/ubuntu/pool/main/a/apache2/apache2_2.4.29.orig.tar.gz % รวม % ที่ได้รับ % Xferd ความเร็วเฉลี่ย เวลา เวลา เวลา ปัจจุบัน Dload อัพโหลด ใช้ไปทั้งหมด ความเร็วซ้าย 100 63500 100 63500 0 0 55458 0 0:00 :01 0:00:01 --:--:-- 55458 100 8436k 100 8436k 0 0 123k 0 0:01:08 0:01:08 --:--:-- 127k gaurav@ubuntu:~/workspace $ 

ในตัวอย่างนี้ ฉันได้ดาวน์โหลดสองแพ็คเกจที่ต่างกันจากที่เก็บ Ubuntu

เอาท์พุท:

gaurav@ubuntu:~/workspace$ ls -al total 9596 drwxrwxr-x 3 gaurav gaurav 4096 ก.ย. 16 16:28 น. drwxr-xr-x 87 gaurav gaurav 266240 ก.ย. 16 10:22 .. -rw-r--r-- 1 gaurav gaurav 390 ก.ย. 16 16:15 16-Sep-20-16-0-0.csv -rw- r--r-- 1 gaurav gaurav 63500 ก.ย. 59 16:28 aegean_0.15.2+dfsg-1.debian.tar.xz -rw-r--r-- 1 gaurav gaurav 8638793 16 ก.ย. 16:29 apache2_2.4.29 orig.tar.gz -rw-r--r-- 1 gaurav gaurav 204429 16 ก.ย. 11:45 ath.html gaurav@ubuntu:~/workspace$ 

ดาวน์โหลดทั้งสองแพ็คเกจพร้อมกันโดยใช้คำสั่ง curl

การดึงส่วนหัว HTTP ของ URL ด้วย CURL

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

คุณสามารถใช้ได้ ขด สั่งกับ -ผม ตัวเลือกเพื่อรับส่วนหัว HTTP ของ URL

ไวยากรณ์:

curl -I [URL]

ตัวอย่าง:

gaurav@ubuntu:~/workspace$ curl -I www.firefox.com HTTP/1.1 200 ตกลง ประเภทเนื้อหา: text/html; charset=ISO-8859-1 P3P: CP="นี่ไม่ใช่นโยบาย P3P! ดูข้อมูลเพิ่มเติมที่ g.co/p3phelp" วันที่: พุธ 16 ก.ย. 2020 11:17:00 GMT เซิร์ฟเวอร์: gws X-XSS-Protection: 0 X-Frame-Options: SAMEORIGIN Transfer-Encoding: chunked Expires: Wed, 16 Sep 2020 11:17:00 GMT Cache- การควบคุม: ชุดคุกกี้ส่วนตัว: 1P_JAR=2020-09-16-11; หมดอายุ=ศุกร์, 16-ต.ค.-2020 11:17:00 GMT; เส้นทาง=/; โดเมน=.google.com; ชุดคุกกี้ที่ปลอดภัย: NID=204=SpeHTVXkKYwe6uaKYLsPWmCA0A-sGb94c9jpbw067e7uhyeJnkap6TFEIESztwLOEst7KcDSBLgGrokh1EM2IZi2VPVzllH0tsvCu-QbKiunPoPJ6drD7iGrokh1EM2IZi2VPVzllH0tsvCu-QbKiunPoPJ6drD7iGrokh1EM2IZi2VPVzllH0tsvCu-QbKiunPoPJ6drD7iEv1 หมดอายุ=พฤหัสบดี 18-มีนาคม-2021 11:17:00 GMT; เส้นทาง=/; โดเมน=.google.com; HttpOnly gaurav@ubuntu:~/workspace$

ในตัวอย่างนี้ ฉันได้ดึงส่วนหัว HTTP ของ 'www.firefox.com‘.

กำลังดึงรหัส C-Source โดยใช้ CURL

โดยใช้ ขด สั่งกับ --libcurl ตัวเลือกสามารถดึงรหัสที่มา C สิ่งนี้ไม่ได้มีประโยชน์อะไรกับผู้ใช้ทั่วไป แต่สามารถพิสูจน์ได้ว่ามีประโยชน์มากสำหรับโปรแกรมเมอร์ระบบ นักวิเคราะห์ความปลอดภัย และนักพัฒนาแอปพลิเคชัน

ไวยากรณ์:

curl [URL] > ชื่อไฟล์ --libcurl [code_filename]

ตัวอย่าง:

ในตัวอย่างนี้ ฉันได้ดึงเนื้อหาของ URL allthings.how และเก็บไว้ในไฟล์ชื่อ gy_ath.html. ซอร์สโค้ด C ถูกจัดเก็บแยกต่างหากใน source.c ไฟล์.

curl //www.allthings.how > gy_ath.html --libcurl source.c 

เอาท์พุท:

gaurav@ubuntu:~/workspace$ curl //www.allthings.how > gy_ath.html --libcurl source.c % รวม % ที่ได้รับ % Xferd ความเร็วเฉลี่ย เวลา เวลา ปัจจุบัน โหลด Dload ทั้งหมด ใช้ไป ความเร็วซ้าย 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 gaurav@ubuntu:~/workspace$

ให้เราตรวจสอบไฟล์ที่ดาวน์โหลดมา

gaurav@ubuntu:~/workspace$ ls -al total 404 drwxrwxr-x 3 gaurav gaurav 4096 Sep 16 17:08 น. drwxr-xr-x 87 gaurav gaurav 266240 ก.ย. 16 10:22 .. -rw-r--r-- 1 gaurav gaurav 0 ก.ย. 16 17:13 gy_ath.html -rw-r--r-- 1 gaurav gaurav 1535 16 ก.ย. 17:13 น. source.c gaurav@ubuntu:~/workspace$

ดิ source.c ไฟล์มีซอร์สโค้ด ซึ่งสามารถแสดงบนเทอร์มินัลโดยใช้ปุ่ม แมว สั่งการ. ฉันได้ใส่สองสามบรรทัดจากผลลัพธ์ในบล็อกด้านล่างที่กำหนด

C sourcegaurav@ubuntu:~/workspace$ cat source.c /************ โค้ดตัวอย่างที่สร้างโดยเครื่องมือบรรทัดคำสั่ง curl ********** * ตัวเลือก curl_easy_setopt() ทั้งหมดได้รับการบันทึกไว้ ที่: * //curl.haxx.se/libcurl/c/curl_easy_setopt.html ******************************** **********************************************/ #int main (int argc, char .) *argv[]) { CURLcode ret; หยิก * hnd; hnd = curl_easy_init(); curl_easy_setopt (hnd, CURLOPT_BUFFERSIZE, 102400L); curl_easy_setopt(hnd, CURLOPT_URL, "//www.allthings.how"); curl_easy_setopt(hnd, CURLOPT_USERAGENT, "curl/7.58.0"); curl_easy_setopt (hnd, CURLOPT_MAXREDIRS, 50L);

การใช้พร็อกซีใน CURL เพื่อเข้าถึง URL

ตามที่กล่าวไว้ในบทนำ ขด คำสั่งรองรับโปรโตคอลที่หลากหลาย เช่น FTP, SMTP, HTTPS, SOCKS เป็นต้น บางครั้งการใช้พร็อกซีเซิร์ฟเวอร์ในการถ่ายโอนไฟล์มีความสำคัญเมื่อคุณต้องการเพิ่มความเร็วของการถ่ายโอนและปกป้องตัวตนของคุณด้วย ขด คำสั่งสามารถใช้ในการถ่ายโอนไฟล์ผ่านพร็อกซีเซิร์ฟเวอร์ได้อย่างง่ายดายโดยการต่อท้าย -x ตัวเลือกสำหรับมัน

ตัวอย่าง:

curl -x [proxy_address]:[พอร์ต] [URL]

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

curl -u [ชื่อผู้ใช้]:[รหัสผ่าน] -x [proxy_address]:[พอร์ต] [URL]

ด้วยวิธีการง่ายๆ นี้ เราสามารถถ่ายโอนไฟล์ผ่านพร็อกซีเซิร์ฟเวอร์ด้วย option -x ใช้กับ ขด สั่งการ.

บทสรุป

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