กำหนดtransport พร็อกซีให้โฮสต์ที่เลือก และกำหนด transport เชื่อมต่อตรงอย่างชัดเจนให้ส่วนที่เหลือของไคลเอนต์:

import httpx

direct = httpx.HTTPTransport(trust_env=False)
proxied = httpx.HTTPTransport(
    proxy="http://203.0.113.10:8080",
    trust_env=False,
)

with httpx.Client(
    transport=direct,
    mounts={"all://example.com": proxied},
    trust_env=False,
    timeout=15,
) as client:
    response = client.get("https://example.com/")
    print(response.status_code)

    other = client.get("https://example.org/")
    print(other.status_code)

แทนที่อยู่เอกสารด้วยปลายทาง HTTP ที่ต้องการจากบริการหรือรายการพร็อกซี HTTP ที่นี่ example.com ใช้ mount ส่วน example.org ใช้ค่าปกติที่เชื่อมต่อตรง ต้องตรวจทั้งสองคำขอ เพราะสำเร็จเฉพาะโฮสต์พร็อกซีไม่ยืนยันเส้นทางสำรอง

รายละเอียดการจับคู่ผล
all://example.comโฮสต์ที่ตรงชื่อนี้ในทุกสกีมปลายทาง
โดเมนย่อยเป็นการเลือกแยก หากต้องจับคู่ด้วย ให้ตั้งใจใช้ไวลด์การ์ดที่รองรับ
พาธMount เลือกรูปแบบสกีม โฮสต์ และพอร์ตถ้าระบุ ไม่ใช่พาธ URL
การเปลี่ยนเส้นทางไปโฮสต์อื่นเมื่อเปิดตามการเปลี่ยนเส้นทาง จะจับคู่ URL ใหม่ และอาจใช้เส้นทางสำรองที่เชื่อมต่อตรง

ตัวอย่างปิดการอ่านค่าสภาพแวดล้อมที่ไคลเอนต์และ transport ทั้งสอง เมื่อปรับใช้ กฎพร็อกซีแบบกว้างอื่นหรือ mount ที่ตรงกันอาจเปลี่ยนผล หากระบบต้องใช้ค่า CA จากสภาพแวดล้อม ให้ระบุความเชื่อถือนั้นเองหรือคงนโยบายอ่านค่าที่เหมาะสม แทนการปล่อยให้หายไปเงียบ ๆ

ไม่ต้องเปลี่ยนพร็อกซีทั้งเครื่อง ตรวจเส้นทางด้วยทั้งโฮสต์ที่ต้องการให้ผ่านพร็อกซีและโฮสต์สำรองที่เลือกโดยตั้งใจ

บทความที่เกี่ยวข้อง