Jekk session.proxies jindika punt finali wieħed iżda l-iskript juża l-proxy tax-shell, li terġa’ tassenja l-istess dizzjunarju ma jsolvix il-kunflitt. Requests jista’ jgħaqqad is-settings tal-proxy mill-ambjent bi prijorità fuq id-defaults ta’ Session. Agħżel jekk Session għandhiex tkompli tiskopri settings mill-ambjent.

Żomm l-iskoperta tal-ambjent, agħti r-rotot fit-talba

Għaddi valuri espliċiti lil kull sejħa individwali, kif jirrakkomanda Requests biex jiġi evitat dan il-kunflitt bejn Session u l-ambjent:

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

with requests.Session() as session:
    response = session.get(
        "https://example.com/",
        proxies=proxies,
        timeout=(5, 15),
    )
    response.raise_for_status()

Ibdel is-semmiegħ lokali b’tiegħek. Jekk tqabbel punti HTTP pubbliċi, agħżel kandidati mil-lista ta’ proxies HTTP filwaqt li żżomm il-politika Session fissa. Dan jikkontrolla l-entrati tal-mappa pprovduta; agħżel apposta wkoll għal skemi jew hosts oħra tal-applikazzjoni. Servizz, IDE, container jew runner CI jista’ jiret ambjent differenti mit-terminal.

Ħalli Session tikkontrolla s-settings tagħha

Jekk l-applikazzjoni m’għandhiex tiskopri proxies mill-ambjent, issettja l-politika qabel l-ewwel talba:

with requests.Session() as session:
    session.trust_env = False
    session.proxies = {
        "http": "http://127.0.0.1:8080",
        "https": "http://127.0.0.1:8080",
    }
    response = session.get(
        "https://example.com/",
        timeout=(5, 15),
    )
    response.raise_for_status()

trust_env=False jaffettwa wkoll il-konfigurazzjoni taċ-ċertifikati marbuta mal-ambjent u l-awtentikazzjoni netrc awtomatika. Ikkunsidra dawn id-dipendenzi qabel tagħżlu. Għal pakkett privat approvat ta’ ċertifikati CA, tista’ tagħti mogħdija espliċita:

response = session.get(
    "https://example.com/",
    timeout=(5, 15),
    verify="/path/to/approved-ca-bundle.pem",
)

Uża l-pakkett approvat tassew u ħalli l-verifika attiva. Żomm Session separata għal kull politika ta’ routing minflok tbiddel waħda waqt li xogħol ieħor jużaha.

Jekk l-ebda alternattiva ma tispjega r-rotta tal-applikazzjoni, qabbel Session iżolata mal-applikazzjoni fl-istess ambjent ta’ eżekuzzjoni u bl-istess destinazzjoni li ma tagħmilx ħsara. Irreġistra l-varjabbli proxy preżenti, il-valur ta’ trust_env u jekk is-sejħa tgħaddix proxies; żomm URL bi kredenzjali barra mil-logs maqsuma. Suċċess iżolat jidderieġi l-ispezzjoni li jmiss lejn il-ħolqien ta’ Session, adapters, flussi ta’ talbiet ippreparati jew trasporti personalizzati. Test tal-ambjent b’curl ma jiddeterminax l-imġiba ta’ għaqda ta’ Requests innifsu.

Artikli relatati