ทั้งสองอย่างนี้curl
และwget
ใช้สำหรับการดาวน์โหลดไฟล์ ฯลฯ มีเหตุผลอะไรบ้างที่จะใช้ไฟล์อื่น?
ทั้งสองอย่างนี้curl
และwget
ใช้สำหรับการดาวน์โหลดไฟล์ ฯลฯ มีเหตุผลอะไรบ้างที่จะใช้ไฟล์อื่น?
คำตอบ:
หลังจากที่คุณได้กำหนดไว้ "การใช้ที่เหมาะสม" wget
การใช้งาน
ทำไม? นั่นเป็นเหตุผล:
ซ้ำ! จุดแข็งที่สำคัญของ wget เมื่อเทียบกับ curl คือความสามารถในการดาวน์โหลดแบบเรียกซ้ำหรือแม้แต่ดาวน์โหลดทุกสิ่งที่ถูกอ้างถึงจากแหล่งข้อมูลระยะไกลไม่ว่าจะเป็นหน้า HTML หรือรายการไดเรกทอรี FTP
คัดลอกไร้ยางอายจากที่นี่
curl
ห้องสมุด curl
ขับเคลื่อนโดยlibcurl
- ห้องสมุดข้ามแพลตฟอร์มที่มี API ที่เสถียรซึ่งแต่ละคนและทุกคนสามารถใช้ได้ ความแตกต่างนี้สำคัญเนื่องจากมันสร้างทัศนคติที่แตกต่างอย่างสิ้นเชิงกับวิธีการทำสิ่งต่าง ๆ ภายใน นอกจากนี้ยังเป็นการยากกว่าเล็กน้อยในการสร้างไลบรารีกว่าเครื่องมือบรรทัดคำสั่ง "เพียง"
ท่อ curl
ทำงานได้เหมือนcat
คำสั่งUnix แบบดั้งเดิมมันจะส่งข้อมูลเพิ่มเติมไปยังstdout
และอ่านเพิ่มเติมจากstdin
ในลักษณะ "Everything is a pipe" wget
เป็นเหมือนการcp
ใช้อะนาล็อกเดียวกัน
นัดเดียว curl
โดยทั่วไปแล้วจะทำการถ่ายโอนข้อมูลแบบนัดเดียว มันถ่ายโอนเฉพาะ URL ที่ผู้ใช้ระบุและไม่มีตรรกะการดาวน์โหลดแบบเรียกซ้ำหรือตัวแยกวิเคราะห์ HTML ใด ๆ
โปรโตคอลอื่น ๆ curl
รองรับ FTP, FTPS, โกเฟอร์, HTTP, HTTPS, SCP, SFTP, TFTP, อินเทอร์เน็ต, DICT, LDAP, LDAPS, ไฟล์, POP3, IMAP, SMB / CIFS, SMTP, RTMP และ RTSP Wget รองรับ HTTP, HTTPS และ FTP เท่านั้น
พกพาได้มากกว่า สร้างและทำงานบนแพลตฟอร์มจำนวนมากมากกว่าcurl
wget
ตัวอย่างเช่น: OS / 400, TPF และแพลตฟอร์ม "แปลกใหม่" อื่น ๆ ที่ไม่ใช่โคลน Unix ที่อยู่ตรงหน้า
ห้องสมุด SSL มากขึ้นและสนับสนุน curl
สามารถสร้างขึ้นด้วยหนึ่งในสิบเอ็ด (11!) ห้องสมุด SSL / TLS ที่แตกต่างกันและให้การควบคุมที่มากขึ้นและการสนับสนุนที่กว้างขึ้นสำหรับรายละเอียดโปรโตคอล curl
รองรับการตรึงกุญแจสาธารณะ
HTTP รับรองความถูกต้อง curl
รองรับวิธีการพิสูจน์ตัวตน HTTP เพิ่มเติมโดยเฉพาะผ่านพร็อกซี HTTP: Basic, Digest, NTLM และ Negotiate
ถุงเท้า curl
รองรับโปรโตคอล SOCKS หลายรุ่นสำหรับการเข้าถึงพร็อกซี
แบบสองทิศทาง curl
มีความสามารถในการอัพโหลดและส่ง wget
เสนอการสนับสนุน HTTP POST ธรรมดาเท่านั้น
HTTP multipart / form-data ส่งซึ่งอนุญาตให้ผู้ใช้ทำการ HTTP "อัพโหลด" และเลียนแบบเบราว์เซอร์ทั่วไปและทำ HTTP อัตโนมัติในขอบเขตที่กว้างขึ้น
curl
รองรับgzip
และขยายการเข้ารหัสเนื้อหาและทำการคลายการบีบอัดอัตโนมัติ
curl
เสนอและดำเนินการคลายการบีบอัด HTTP ที่เข้ารหัสโอน, wget ไม่ได้
curl
รองรับ HTTP / 2 และรองรับการเชื่อมต่อแบบดูอัลสแต็กโดยใช้ Happy Eyeballs
กิจกรรมมากนักพัฒนามากขึ้น ในขณะที่สิ่งนี้สามารถนำมาถกเถียงกันได้ฉันจะพิจารณาตัวชี้วัดสามตัวที่นี่: กิจกรรมการส่งจดหมายรหัสความถี่แหล่งกำเนิดและความถี่ที่วางจำหน่าย ใครก็ตามที่ติดตามโครงการทั้งสองนี้จะเห็นได้ว่าโครงการ curl นั้นมีอัตราการเติบโตที่สูงขึ้นมากในทุก ๆ ด้านและเป็นเวลามากกว่า 10 ปี เปรียบเทียบกับ openhub
wget
wget
เป็นบรรทัดคำสั่งเท่านั้น ไม่มีห้องสมุด
วนซ้ำ ! wget
จุดเด่นที่สำคัญเมื่อเทียบกับ curl คือความสามารถในการดาวน์โหลดซ้ำหรือแม้แต่ดาวน์โหลดทุกสิ่งที่ถูกอ้างถึงจากแหล่งข้อมูลระยะไกลไม่ว่าจะเป็นหน้า HTML หรือรายการไดเรกทอรี FTP
เก่ากว่า wget
มีร่องรอยย้อนกลับไปปี 1995 ในขณะที่curl
สามารถติดตามย้อนหลังได้ไม่เกินปลายปี 1996
จีพี wget
คือ 100% GPL v3 curl ได้รับใบอนุญาตจาก MIT
GNU wget
เป็นส่วนหนึ่งของโครงการ GNU และลิขสิทธิ์ทั้งหมดถูกกำหนดให้กับ FSF โครงการ curl เป็นโครงการแบบสแตนด์อโลนและเป็นอิสระโดยไม่มีการเลี้ยงดูองค์กร แต่อย่างใดโดยแดเนียลเป็นเจ้าของลิขสิทธิ์เกือบทั้งหมด
wget
ไม่จำเป็นต้องมีตัวเลือกพิเศษเพียงดาวน์โหลด URL ระยะไกลไปยังแฟ้มท้องถิ่นในขณะที่curl
ต้องใช้หรือ-o
-O
wget
สนับสนุนรายการส่วนต่อท้ายสาธารณะสำหรับการจัดการโดเมนคุกกี้ curl ไม่
wget
รองรับเฉพาะ GnuTLS หรือ OpenSSL สำหรับการสนับสนุน SSL / TLS
wget
สนับสนุนเฉพาะการรับรองความถูกต้องเบื้องต้นเป็นประเภทการรับรองความถูกต้องเท่านั้นผ่านพร็อกซี HTTP
wget
ไม่มีการรองรับ SOCKS
ความสามารถในการกู้คืนจากการถ่ายโอนที่เสียก่อนกำหนดและการดาวน์โหลดต่อไม่มีข้อ จำกัด
wget
สามารถพิมพ์โดยใช้เพียงมือซ้ายบนแป้นพิมพ์ qwerty!
curl -C -
การดาวน์โหลดไม่ทำงานต่อหรือไม่
wget can be typed in using only the left hand on a qwerty keyboard!
, WTF ?? wget requires no extra options to simply download a remote URL to a local file, while curl requires -o or -O.
มีเครื่องมือมากมายที่สามารถดาวน์โหลดเป็นเหมือนcurl
, snarf
, wget
, pavuk
, fget
, fetch
, lftp
, aria2
, HTTrack
ฯลฯ ใช้มันตามความต้องการของคุณและที่มีคุณต้องการที่จะใช้ร่วมกับการดาวน์โหลด ตรวจสอบตารางคุณสมบัติ และใช้ตามความเหมาะสม
ขด:
Wget:
ทรัพยากรที่สำคัญสำหรับข้อมูลเพิ่มเติม:
นี่คือคำอธิบายที่ดีขด VS Wget
ตารางคุณสมบัติ: เปรียบเทียบคุณสมบัติ cURL กับเครื่องมือดาวน์โหลดอื่น ๆ
รายละเอียดของคุณสมบัติที่รองรับการม้วน: คุณสมบัติ - สิ่งที่สามารถม้วนงอได้
รายละเอียดของคุณสมบัติที่รองรับwget : คุณสมบัติ wget
พวกมันมีฟังก์ชั่นการใช้งานที่เหมือนกัน แต่curl
มีตัวเลือกมากกว่า สำหรับwget
บางครั้งมันอาจจะเพียงพอที่จะผ่านman wget
แต่สำหรับcurl
ฉันต้องศึกษาหน้าเว็บนี้ในเบราว์เซอร์ ฉันเชื่อว่าทุกสิ่งที่เบราว์เซอร์ของคุณสามารถทำได้curl
สามารถทำได้เช่นกัน
มีความแตกต่างระหว่าง wget และขดซึ่งฉันคิดว่าเป็นสิ่งสำคัญ
Wget เป็นยูทิลิตีบรรทัดคำสั่งแบบสแตนด์อะโลนซึ่งมีวัตถุประสงค์หลักเพื่อดึงเนื้อหาอินเทอร์เน็ตอย่างรวดเร็วและง่ายดาย
ในทางตรงกันข้าม Curl นั้นเป็นส่วนหน้าของเทอร์มินัลสำหรับไลบรารี libcurl อันทรงพลัง Libcurl มีชุดเครื่องมือที่ทรงพลังมากสำหรับการทำงานกับ URL ในทุกรูปแบบและทุกรสชาติและสามารถใช้ได้กับเกือบทุกภาษาและแพลตฟอร์ม Curl ช่วยให้คุณสามารถใช้ไลบรารีนี้ในเชลล์สคริปต์ได้