HTTPX-proxyrûtes kieze mei proxy en mounts
Brûk HTTPX proxy en transportmontages mei it goede skema, dúdlik omjouwingsgedrach en aparte ferbinings- en lêslimiten.
Brûk proxy= as ien einpunt de fersiken fan de kliïnt behannelje moat. Brûk mounts= as bestimmingskema’s ferskillende rûtes nedich hawwe. De foarbylden brûke dizze HTTPX-ynterfaces; in projekt mei de âldere proxies=-API hat ynstellingen foar dy ferzje nedich.
Ien einpunt
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)
Ferfang de lokale listener troch in draaiende HTTP-proxy. In kandidaat út de list mei HTTP-proxy’s moat noch mei dyn bestimming test wurde. In HTTPS-doel kin dit http://-einpunt troch CONNECT brûke. It skema yn https:// feroarje freget TLS nei de proxy sels, wat listener en kliïnt beide stypje moatte.
Aparte rûtes neffens bestimmingskema
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)
Montagekaaien passe op doel-URL’s. HTTP-doelen kieze hjir poarte 8080, HTTPS-doelen poarte 8081. De proxywearde beskriuwt it eigen protokol fan de listener, dus de HTTPS-montage kin terjochte in http://-proxy befetsje. Folje dyn einpunten yn en kontrolearje beide bestimmingskema’s.
Beide resepten sette trust_env=False op de kliïnt en, dêr’t se jûn wurde, op de transporten. Oars lêst HTTPX standert proxy- en sertifikaatomjouwingsfariabelen. As de útrol dêrop bout, hâld ûntdekking oan of stel rûtes en fertrouwen eksplisyt yn. Brûk foar priveefertrouwen de TLS-kontekst en CA-konfiguraasje fan dyn HTTPX-ferzje; hâld doelkontrôle oan. Fertrouwen yn de HTTPS-proxy kin losstean fan fertrouwen yn it doel.
httpx.Timeout(15.0, connect=5.0) oerskriuwt de ferbiningstimeout en jout de oare ynstelde dielen de standertwearde. Lêzen, skriuwen en wachtsjen op de pool hawwe aparte grinzen; fyftjin sekonden binne gjin totale deadline foar ferrûne tiid. In pooltimeout kin betsjutte dat oar wurk beskikbere ferbiningen fêsthâldt. Slút kliïnten en streamingantwurden goed foar’tsto dat as bewiis fan in ûnberikbere proxy sjochst.