Għażla tar-rotot proxy f’HTTPX b’proxy u mounts
Uża proxy u muntaturi tat-transport HTTPX bi skema korretta, imġiba tal-ambjent espliċita u limiti separati għall-konnessjoni u l-qari.
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.