Meta Requests ikun disponibbli fil-proġett, għaddi mappa tal-proxies lis-sejħa:

import requests

proxies = {
    "http": "http://127.0.0.1:8080",
    "https": "http://127.0.0.1:8080",
}

response = requests.get(
    "https://example.com/",
    proxies=proxies,
    timeout=(5, 15),
)
response.raise_for_status()
print(response.status_code)

Ibdel il-punt tat-tmiem loopback bil-proxy tiegħek li qed jaħdem jew kandidat mil-lista ta’ proxies HTTP li se tittestja b’din it-talba. Iċ-ċwievet jiddeskrivu l-iskemi tad-destinazzjoni: http għal URLs HTTP u https għal URLs HTTPS. Il-valuri jiddeskrivu l-listener tal-proxy. Jistgħu jkunu punti differenti jekk in-network jeħtieġ rotot separati.

Valur proxy http:// taħt iċ-ċavetta https huwa intenzjonat. Requests jitlob tunnell CONNECT mingħand il-listener HTTP u mbagħad jistabbilixxi TLS mad-destinazzjoni minnu, skont il-politika tal-proxy għad-destinazzjonijiet u l-portijiet. Tibdil għal https:// jitlob TLS mal-proxy nnifsu; jista’ jfalli jekk il-listener jistenna HTTP mhux ikkriptat.

Xi jfissru ż-żewġ numri tat-timeout

timeout=(5, 15) jistabbilixxi timeouts tal-konnessjoni u tal-qari. Ma jimponix limitu totali ta’ ħmistax-il sekonda. Data li tasal perjodikament, indirizzi multipli u tentattivi ta’ konnessjoni jistgħu jtawlu l-ħin. Requests ma jipprovdix timeout ġenerali meta tħalli barra s-setting. Agħżel limiti xierqa għar-risposta u żid skadenza fil-livell tal-applikazzjoni jekk ix-xogħol jeħtieġ baġit totali strett.

Immaniġġja l-falliment fl-istadju fejn iseħħ

try:
    response = requests.get(
        "https://example.com/",
        proxies=proxies,
        timeout=(5, 15),
    )
    response.raise_for_status()
except requests.exceptions.ProxyError as error:
    print("Proxy setup failed:", type(error).__name__)
except requests.exceptions.Timeout:
    print("A configured timeout expired")
except requests.exceptions.HTTPError as error:
    print("HTTP status:", error.response.status_code)

CONNECT miċħud jista’ jqajjem ProxyError qabel ma teżisti risposta tad-destinazzjoni. Il-fergħa HTTPError tiġi wara risposta riċevuta bi status ta’ żball; Timeout ifisser li skada limitu kkonfigurat. Spezzjona l-ktajjen tal-eċċezzjonijiet tal-konnessjoni lokalment u neħħi punti li fihom kredenzjali u URLs privati qabel taqsamhom.

Ħalli l-verifika taċ-ċertifikati attiva. Jekk in-network awtorizzat juża CA privata jew interċettazzjoni ġestita, ipprovdi l-materjal ta’ fiduċja mistenni minflok tiddiżattiva l-verifika.

Entrati espliċiti għal kull talba jikkontrollaw ir-rotot mogħtija hawn, iżda skemi mħollija barra xorta jistgħu jiġu affettwati mis-sejba ta’ proxies mill-ambjent. Meta tmexxi s-sejħa għal Session li tista’ terġa’ tintuża, iddeċiedi kif jinteraġixxu l-varjabbli tal-ambjent, id-defaults ta’ Session u s-sostituzzjonijiet għal kull talba; l-użu mill-ġdid tal-konnessjoni u l-politika tar-routing huma għażliet separati.

Artikli relatati