กฎ NO_PROXY ของ curl สำหรับโดเมนและที่อยู่ IP
ตรวจสอบกฎข้ามพร็อกซีของ curl ทั้ง IP แบบตรงตัว ส่วนท้ายโดเมน เครือข่าย CIDR รายการว่าง และไวลด์การ์ดทุกโฮสต์
NO_PROXY ระบุปลายทางที่ควรเชื่อมต่อโดยตรง ไม่ได้ระบุเซิร์ฟเวอร์พร็อกซีที่ต้องหลีกเลี่ยง การเพิ่ม IP ของพร็อกซีที่เลือกเองลงในรายการไม่ได้ใช้ตัดสินว่าเว็บไซต์อื่นจะใช้พร็อกซีนั้นหรือไม่
| รายการ | ความหมายใน curl |
|---|---|
example.com | โดเมนที่ระบุและโดเมนย่อยที่ตรงกันจะข้ามพร็อกซี |
.example.com | การยกเว้นตามส่วนท้ายโดเมน ซึ่งรวมโดเมนนั้นเองด้วย |
192.168.1.10 | IP ปลายทางแบบตรงตัวที่ตรงกันจะข้ามพร็อกซี |
192.168.0.0/16 | ปลายทาง IP แบบตรงตัวที่ตรงกันจะข้ามพร็อกซี โดย CIDR ต้องใช้ curl 7.86.0 ขึ้นไป |
* | ทุกปลายทางข้ามพร็อกซี |
รายการว่างกับดอกจันต่างกัน
สำหรับการทดสอบพร็อกซีอย่างชัดเจน รายการว่างบนบรรทัดคำสั่งจะลบการจับคู่ข้ามพร็อกซีจากสภาพแวดล้อม:
curl --proxy http://203.0.113.10:8080 --noproxy '' \
--connect-timeout 5 --max-time 15 https://example.com/
แทนปลายทางตัวอย่างในเอกสารด้วยพร็อกซี HTTP ของคุณหรือตัวเลือกจากรายการพร็อกซี HTTP หากต้องการเปรียบเทียบในทางกลับกัน ไวลด์การ์ดในเครื่องหมายคำพูดจะทำให้คำขอเชื่อมต่อโดยตรง แม้มีตัวเลือกพร็อกซีอยู่:
curl --proxy http://203.0.113.10:8080 --noproxy '*' \
--connect-timeout 5 --max-time 15 https://example.com/
คงเครื่องหมายคำพูดไว้เพื่อไม่ให้เชลล์ขยายไวลด์การ์ดเป็นชื่อไฟล์ การยกเลิกตัวแปรสภาพแวดล้อม การตั้งเป็นค่าว่าง และการเขียนทับผ่านบรรทัดคำสั่งเป็นคนละการกระทำ โดยการตั้งค่าอื่นที่ใช้ได้อาจยังคงอยู่หลังลบเพียงหนึ่งนิยาม
CIDR ไม่ใช่กฎสำหรับทุกชื่อที่แปลงได้เป็นที่อยู่ในเครือข่าย
รายการ CIDR จะจับคู่กับที่อยู่ IP ที่ใช้เป็นโฮสต์ปลายทาง ไม่ใช่คำสั่งทั่วไปให้แปลงทุกชื่อโฮสต์ก่อนแล้วข้ามพร็อกซีหากคำตอบอยู่ในเครือข่ายนั้น ดังนั้น URL ที่ใช้ชื่อโฮสต์กับ URL ที่ใช้ที่อยู่ตัวเลขของโฮสต์อาจเลือกเส้นทางต่างกัน
ใช้ชื่อโฮสต์หรือส่วนท้ายโดเมนเมื่อ URL มีสิ่งเหล่านั้น อย่าใส่สคีมเต็ม เส้นทาง หรือนิพจน์ข้ามพร็อกซีของเบราว์เซอร์ลงในรายการแล้วคิดว่า curl จะตีความเหมือนกัน
กฎเหล่านี้อธิบาย curl 8.14.1 ไคลเอนต์อื่นมีพฤติกรรม NO_PROXY ของตัวเอง รวมถึงความต่างในการจับคู่ไวลด์การ์ดและพอร์ต