session.proxies amaiera-puntu batera badoa baina scriptak shellaren proxya erabiltzen badu, hiztegi bera berriz esleitzeak ez du gatazka konpontzen. Requests-ek inguruneko proxy-ezarpenak Sessionen lehenetsien gainetik bateratu ditzake. Aukeratu Sessionek ezarpenak ingurunean bilatzen jarraitu behar duen.

Mantendu ingurunearen detekzioa, eman bideak eskaeran

Eman balio esplizituak dei bakoitzari, Requests-ek Sessionen eta ingurunearen arteko gatazka hau saihesteko gomendatzen duen bezala:

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()

Ordeztu entzule lokala zurearekin. HTTP amaiera-puntu publikoak alderatzen badituzu, hartu hautagaiak HTTP proxyen zerrendatik, Sessionen politika finko mantenduz. Horrek emandako mapaketaren sarrerak kontrolatzen ditu; aukeratu berariaz aplikazioaren beste eskema edo ostalarientzat ere. Zerbitzu, IDE, edukiontzi edo CI exekutatzaile batek terminalaren beste ingurune bat jaso dezake.

Utzi Sessioni bere ezarpenak kudeatzen

Aplikazioak ez baditu proxyak ingurunetik aurkitu behar, ezarri politika lehen eskaeraren aurretik:

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 aukerak ingurunearekin lotutako ziurtagiri-ezarpenetan eta netrc autentifikazio automatikoan ere eragiten du. Kontuan hartu mendekotasun horiek hautatu aurretik. Onartutako CA ziurtagiri-sorta pribatu batentzat bide esplizitua eman dezakezu:

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

Erabili benetan onartutako sorta eta mantendu egiaztapena aktibo. Erabili Session bereizia bideratze-politika bakoitzeko, bat aldatu beharrean beste lanek erabiltzen duten bitartean.

Bi aukeretako batek ere ez badu aplikazioaren bidea azaltzen, alderatu Session isolatu bat aplikazioarekin exekuzio-ingurune berean eta helmuga kaltegabe berarekin. Jaso dauden proxy-aldagaiak, trust_env balioa eta deiak proxies ematen duen; utzi kredentzialak dituzten URLak partekatutako erregistroetatik kanpo. Isolatuta arrakasta izateak hurrengo azterketa Session sortzera, egokitzaileetara, prestatutako eskaeren fluxuetara edo garraio pertsonalizatuetara bideratzen du. curl bidezko ingurune-probak ez du Requests-en beraren bateratze-portaera zehazten.

Erlazionatutako artikuluak