Uża proxy= meta endpoint wieħed għandu jimmaniġġja t-talbiet tal-klijent. Uża mounts= meta l-iskemi tad-destinazzjoni jeħtieġu rotot differenti. L-eżempji jużaw dawn l-interfaces HTTPX; proġett bl-API eqdem proxies= jeħtieġ konfigurazzjoni għall-verżjoni tiegħu.

Endpoint wieħed

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)

Ibdel il-listener lokali bi proxy HTTP li qed jaħdem. Kandidat mil-lista ta’ proxies HTTP xorta jeħtieġ prova mad-destinazzjoni tiegħek. Mira HTTPS tista’ tuża dan l-endpoint http:// permezz ta’ CONNECT. Il-bidla tal-iskema għal https:// titlob TLS lejn il-proxy nnifsu, b’appoġġ meħtieġ mil-listener u l-klijent.

Rotot separati skont l-iskema tad-destinazzjoni

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)

Iċ-ċwievet tal-muntaturi jaqblu mal-URLs fil-mira. Il-miri HTTP hawn jagħżlu l-port 8080, u HTTPS il-port 8081. Il-valur tal-proxy jiddeskrivi l-protokoll tal-listener innifsu, għalhekk il-muntatura HTTPS tista’ tinkludi proxy http:// b’mod korrett. Daħħal l-endpoints tiegħek u ċċekkja ż-żewġ skemi tad-destinazzjoni.

Iż-żewġ riċetti jistabbilixxu trust_env=False fuq il-klijent u, fejn ipprovduti, fuq it-transports. Inkella HTTPX jaqra awtomatikament il-varjabbli tal-ambjent tal-proxy u ċ-ċertifikati. Jekk l-iskjerament jiddependi fuqhom, ħalli s-sejba attiva jew ikkonfigura r-rotot u l-fiduċja espliċitament. Għal fiduċja privata uża l-kuntest TLS u l-konfigurazzjoni CA tal-verżjoni HTTPX tiegħek; ħalli l-verifika tad-destinazzjoni attiva. Il-fiduċja fil-proxy HTTPS tista’ tkun separata minn dik fid-destinazzjoni.

httpx.Timeout(15.0, connect=5.0) jissostitwixxi t-timeout tal-konnessjoni u jagħti l-valur predefinit lill-komponenti kkonfigurati l-oħra. Il-qari, il-kitba u l-istennija tal-pool għandhom limiti separati; ħmistax-il sekonda mhumiex skadenza totali taż-żmien reali. Timeout tal-pool jista’ jfisser li xogħol ieħor iżomm il-konnessjonijiet disponibbli. Agħlaq il-klijenti u r-responsi streaming kif suppost qabel tqisu prova li l-proxy ma jintlaħaqx.

Artikli relatati