ผมกระตือรือร้นที่จะทราบความแตกต่างระหว่างและcurl
wget
ทั้งสองใช้เพื่อรับไฟล์และเอกสาร แต่สิ่งที่สำคัญแตกต่างกัน
เหตุใดจึงมีสองโปรแกรมที่แตกต่างกัน
curl
ผู้แต่ง: daniel.haxx.se/docs/curl-vs-wget.html
ผมกระตือรือร้นที่จะทราบความแตกต่างระหว่างและcurl
wget
ทั้งสองใช้เพื่อรับไฟล์และเอกสาร แต่สิ่งที่สำคัญแตกต่างกัน
เหตุใดจึงมีสองโปรแกรมที่แตกต่างกัน
curl
ผู้แต่ง: daniel.haxx.se/docs/curl-vs-wget.html
คำตอบ:
ความแตกต่างที่สำคัญคือ:
wget
ด้านที่แข็งแกร่งที่สำคัญเมื่อเทียบกับcurl
คือความสามารถในการดาวน์โหลดซ้ำwget
เป็นบรรทัดคำสั่งเท่านั้น ไม่มี lib หรืออะไรเลย แต่curl
ฟีเจอร์ของนั้นขับเคลื่อนโดย libcurlcurl
สนับสนุนFTP
, FTPS
, HTTP
, HTTPS
, SCP
, SFTP
, TFTP
, TELNET
, DICT
, LDAP
, LDAPS
, FILE
, POP3
, IMAP
, SMTP
, และRTMP
สนับสนุน, และRTSP
wget
HTTP
HTTPS
FTP
curl
wget
สร้างและทำงานบนแพลตฟอร์มมากกว่าwget
เผยแพร่ภายใต้ลิขสิทธิ์ซอฟต์แวร์เสรี (GNU GPL) curl
ถูกเผยแพร่ภายใต้ลิขสิทธิ์ซอฟต์แวร์ฟรีอนุญาต (MIT derivate)curl
มีความสามารถในการอัพโหลดและส่ง wget
เสนอการสนับสนุน HTTP POST ธรรมดาเท่านั้นคุณสามารถดูรายละเอียดเพิ่มเติมได้ที่ลิงค์ต่อไปนี้:
wget
ที่เหลืออยู่จากคำตอบนี้คือความสามารถในการทำ http mirroring (หรือ 'spidering') curl
เก่งมากในสิ่งที่ทำ แต่เพียงอย่างเดียวไม่ได้มีไว้เพื่อใช้ในการทำเว็บไซต์
ในคำไม่กี่คำ:
wget
เป็นเครื่องมือในการดาวน์โหลดไฟล์จากเซิร์ฟเวอร์curl
เป็นเครื่องมือที่ให้คุณแลกเปลี่ยนการร้องขอ / ตอบกลับกับเซิร์ฟเวอร์wget
Wget ให้คุณดาวน์โหลดไฟล์จากHTTP
/ HTTPS
หรือFTP
เซิร์ฟเวอร์เท่านั้น คุณให้ลิงค์กับมันและมันจะทำการดาวน์โหลดไฟล์โดยอัตโนมัติที่ลิงก์นั้นชี้ไป มันสร้างคำขอโดยอัตโนมัติ
ขด
Curl ในทางตรงกันข้ามกับ wget ช่วยให้คุณสามารถสร้างการร้องขอตามที่คุณต้องการ ทำให้ผู้ใช้มีอิสระในการใช้งานจำนวนมากและสร้างเครื่องมือการดีบักที่น่าทึ่ง เพิ่มไปที่ความแตกต่างที่สำคัญอื่น ๆ ระหว่างทั้งสอง: มากมายเหลือเฟือของโปรโตคอลที่รองรับ สนับสนุน Curl FTP
, FTPS
, Gopher
, HTTP
, HTTPS
, SCP
, SFTP
, TFTP
, Telnet
, DICT
, LDAP
, LDAPS
, IMAP
, POP3
, SMTP
, และRTSP
URI
รวมประเด็นสำคัญสองข้อนี้เข้าด้วยกันและคุณมีเครื่องมือที่น่าทึ่งในการทดสอบโปรโตคอลการกำหนดค่าเซิร์ฟเวอร์ทดสอบ ฯลฯ
อย่างที่หลายคนบอกว่าคุณสามารถดาวน์โหลดไฟล์ด้วย curl อย่างไรก็ตามจะมีประโยชน์ก็ต่อเมื่อคุณต้องการดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ที่ใช้โปรโตคอลที่ wget ไม่รองรับ
wget
ยังติดตามการเปลี่ยนเส้นทางแล้วบันทึกการตอบสนองที่ไม่เหมือนcurl
กัน ทั้งคู่สามารถบรรลุสิ่งตรงกันข้ามกับพฤติกรรมเริ่มต้นwget -qO - http://google.co.uk/
หรือcurl http://google.co.uk/ > index.html
curl http://google.co.uk/ > index.html
ไม่ได้ใช้ฟังก์ชั่น inbuilt อย่างไรก็ตามความแตกต่างที่สำคัญคือจุดประสงค์ที่แต่ละเครื่องมือสร้างขึ้นมา ไม่มีการปฏิเสธว่าเครื่องมือวิวัฒนาการและหลายครั้งเบี่ยงเบนไปจากวิถีเริ่มต้นของพวกเขา
curl http://google.co.uk -o index.html
จะใช้ internals >
ขดแทนการเปลี่ยนเส้นทางการส่งออกที่มีเปลือก
จริงๆแล้วความแตกต่างที่สำคัญคือcurl
มีlibcurl
ไลบรารี่ ( ) และไลบรารี่นั้นถูกใช้อย่างกว้างขวางโดยแอพพลิเคชั่นอื่น ๆ wget
เป็นแบบสแตนด์อโลน