Нэг төгсгөлийн цэг клиент хүсэлтийг боловсруулах ёстой бол proxy= ашигла. Зорилтын схемүүд өөр зам шаардаж байвал mounts= ашигла. Жишээнүүд эдгээр HTTPX интерфейсийг хэрэглэнэ; хуучин proxies= API-тай төсөл өөрийн хувилбарт тохирох тохиргоо хэрэгтэй.

Нэг төгсгөлийн цэг

import httpx

timeout = httpx.Timeout(15.0, connect=5.0)

with httpx.Client(
    proxy="http://127.0.0.1:8080",
    trust_env=False,
    timeout=timeout,
) as client:
    response = client.get("https://example.com/")
    response.raise_for_status()
    print(response.status_code)

Дотоод сонсогчийг ажиллаж буй HTTP проксигоор соль. HTTP проксийн жагсаалтын сонголтыг ч зорилттойгоо турших хэрэгтэй. HTTPS зорилт энэ http:// цэгийг CONNECT-ээр ашиглаж болно. Схемийг https:// болговол прокси өөрт нь TLS хүсэх бөгөөд сонсогч ба клиент хоёулаа дэмжих ёстой.

Зорилтын схемээр тусдаа замууд

import httpx

mounts = {
    "http://": httpx.HTTPTransport(
        proxy="http://127.0.0.1:8080",
        trust_env=False,
    ),
    "https://": httpx.HTTPTransport(
        proxy="http://127.0.0.1:8081",
        trust_env=False,
    ),
}

with httpx.Client(
    mounts=mounts,
    trust_env=False,
    timeout=httpx.Timeout(15.0, connect=5.0),
) as client:
    response = client.get("https://example.com/")
    response.raise_for_status()
    print(response.status_code)

Mount түлхүүрүүд зорилтот URL-тай таарна. HTTP зорилтууд энд 8080, HTTPS зорилтууд 8081 портыг сонгоно. Проксийн утга сонсогчийн өөрийн протоколыг тайлбарладаг тул HTTPS mount дотор http:// прокси байх нь зөв. Өөрийн цэгүүдийг тавьж зорилтын хоёр схемийг шалга.

Хоёр арга клиент болон өгөгдсөн transport-уудад trust_env=False тохируулна. Үгүй бол HTTPX прокси ба гэрчилгээний орчны хувьсагчийг анхдагчаар уншина. Байршуулалт тэдгээрт тулгуурладаг бол илрүүлэлтийг асаалттай байлга эсвэл шаардлагатай зам, итгэмжлэлийг тодорхой тохируул. Хувийн итгэмжлэлд HTTPX хувилбарын дэмждэг TLS контекст ба CA тохиргоог ашигла; зорилтын шалгалтыг асаалттай үлдээ. HTTPS проксийн итгэмжлэл зорилтын итгэмжлэлээс тусдаа байж болно.

httpx.Timeout(15.0, connect=5.0) холболтын хүлээлтийг өөрчилж, бусад тохируулсан хэсэгт анхдагч утгыг өгнө. Унших, бичих болон pool хүлээх нь тусдаа хязгаартай; арван таван секунд нийт өнгөрсөн бодит хугацааны эцсийн хязгаар биш. Pool timeout нь өөр ажил боломжит холболтуудыг барьж байгааг илэрхийлж болно. Прокси хүрэхгүй байгаагийн нотолгоо гэж үзэхээсээ өмнө клиент болон урсгал хариунуудыг зөв хаа.

Холбоотой нийтлэлүүд