หลักการทั่วไปใน UNIX คือโปรแกรม (โดยปกติ) อ่านการกำหนดค่าเริ่มต้นจากไฟล์ที่กำหนดไว้ล่วงหน้าต่างๆ นี่เป็นเพียงประเพณีไม่ใช่สิ่งที่กำหนดโดย POSIX หรือมาตรฐานอื่น ๆ โปรแกรม UNIX ทั่วไปเช่นfoobar
จะอ่านตามลำดับความสำคัญดังต่อไปนี้:
~/.foobarrc ## User specific configuration parameters
/etc/foobarrc ## Global parameters, depending on taste
## `/etc/foobar/*(.conf)' might be chosen too
อาจมีทางเลือกใน/usr/share/
แต่นั่นไม่ใช่เรื่องธรรมดามาก
ดังนั้นที่นี่ต่อไปนี้การประชุมและการอ่านมันกำหนดค่าเริ่มต้นจากcurl
~/.curlrc
และโดยการทำecho ipv4 >>~/.curlrc
คุณได้ผนวกสตริงไปยังแฟ้มipv4
~/.curlrc
สตริงipv4
มีความหมายพิเศษถึงcurl
- curl
จะใช้ IPv4 สำหรับการแก้ปัญหาโฮสต์แล้ว นี่คล้ายคลึงกับการใช้-4
/ ipv4
เป็นcurl
อาร์กิวเมนต์ของบรรทัดคำสั่ง แต่การบันทึกเพื่อ~/.curlrc
ทำให้ถาวร
ดังที่คุณได้ตั้งค่าไว้ipv4
และตอนนี้ทุกอย่างใช้ได้ผลสำหรับคุณสมมุติว่าคุณมีการกำหนดค่า IPv6 และcurl
ก่อนหน้านี้เคยใช้การแก้ปัญหาโฮสต์ IPv6 สำหรับ (สำเร็จ) ดังนั้นจึงไม่มีทางเลือกอื่นสำหรับ IPv4 การเชื่อมต่อไปยังเว็บไซต์ล้มเหลวเนื่องจากบางเว็บไซต์ไม่ได้กำหนดค่าเซิร์ฟเวอร์เว็บให้ฟังที่อยู่ IPv6 ดังนั้นการsocket()
โทรจะล้มเหลวอย่างที่เราเห็นในกรณีนี้