อะไรคือสิ่งที่ดีกว่า curl หรือ wget? [ปิด]


132

พวกเดียวกันหรือไม่? บางสิ่งสามารถทำได้กับสิ่งหนึ่ง แต่ทำไม่ได้? นู้นคืออะไร? หรือในตอนท้ายของวันเป็นเรื่องของความคุ้นเคย?


3
MarcusQ มีคำตอบที่บอกไปดูที่การเปรียบเทียบทำโดยคนที่แต่งตัวประหลาดขดที่ใช้งาน: daniel.haxx.se/docs/curl-vs-wget.html น่าเสียดายที่คำตอบถูกลบแทนที่จะกลายเป็นความคิดเห็น
Thorbjørn Ravn Andersen

คำตอบ:


47

หากคุณกำลังเขียนโปรแกรมคุณควรใช้ curl มี API ที่ดีและพร้อมใช้งานสำหรับภาษาส่วนใหญ่ การแยกออกจากระบบปฏิบัติการเพื่อเรียกใช้ wget เป็น kludge และไม่ควรทำหากคุณมีอินเทอร์เฟซ API!


4
ฉันไม่เคยประสบปัญหาใด ๆ ในการใช้สคริปต์ WGET to Perl เพื่อทำการดาวน์โหลดสิ่งต่างๆโดยอัตโนมัติ อย่างไรก็ตามเมื่อใช้ CURL ฉันมักพบข้อผิดพลาด 18 - ปิดการถ่ายโอนโดยมีข้อมูลการอ่านค้างอยู่ (ดูstackoverflow.com/questions/1759956/… ) ข้อผิดพลาดนี้ส่วนใหญ่ฉันได้รับในขณะที่พยายามใช้มันในสคริปต์ Perl แต่ WGET ไม่เคยให้ปัญหาดังกล่าวกับฉัน สิ่งนี้ไม่ควรนำมาพิจารณา?
SexyBeast

5
หากคุณใช้ perl จริงๆคุณควรใช้ไลบรารี LWP (LWP :: Simple) การอ่านโค้ดตอบกลับกำหนดฟังก์ชันเรียกกลับและตรวจจับข้อยกเว้นได้ง่ายกว่าการแยกวิเคราะห์เอาต์พุตข้อความของกระบวนการอื่น
Byron Whitlock

32

มีบางฟังก์ชันที่ทับซ้อนกัน ในขณะที่GNU wgetเป็นแพ็คเกจสำหรับดึงไฟล์โดยใช้ HTTP / FTP curl จะถ่ายโอนข้อมูลด้วย URL เดียว ตามที่ระบุไว้ในลิงก์ที่MarkusQแชร์ไว้wget สามารถดาวน์โหลดซ้ำได้ - ดูบทความเปรียบเทียบนี้สำหรับรายละเอียดเพิ่มเติมโดยผู้เขียน curl


21

cURLมีไว้สำหรับการถ่ายโอนข้อมูลในทั้งสองทิศทางในขณะที่wgetมีไว้สำหรับไฟล์ดาวน์โหลดแบบไม่โต้ตอบจากแหล่งเฉพาะ มีฟังก์ชันการทำงานบางอย่างที่ทับซ้อนกัน แต่ไม่ได้มีไว้เพื่อทำสิ่งเดียวกันทั้งหมด

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


15

พวกเขาทั้งสองเสนอทางเลือกที่ไม่มีที่สิ้นสุดซึ่งส่วนใหญ่ฉันไม่เคยใช้ อย่างไรก็ตามฉันมักจะชอบ wget มากกว่าเนื่องจากโดยค่าเริ่มต้นจะบันทึกผลลัพธ์จาก URL ที่คุณให้ - เหมาะสำหรับการดาวน์โหลด Curl ไปอีกทางหนึ่งและแสดงเอาต์พุตไปยังเทอร์มินัลโดยตรง (โดยค่าเริ่มต้น)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.