Os yw session.proxies yn pwyntio at un pwynt terfyn ond bod y sgript yn defnyddio dirprwy’r gragen, ni fydd ailaseinio’r un geiriadur yn datrys y gwrthdaro. Gall Requests gyfuno gosodiadau dirprwy’r amgylchedd â blaenoriaeth dros ragosodiadau Session. Dewiswch a ddylai Session barhau i ddarganfod gosodiadau o’r amgylchedd.

Cadwch ddarganfod yr amgylchedd, rhowch lwybrau yn y cais

Rhowch werthoedd penodol i bob galwad unigol, fel y mae Requests yn argymell i osgoi’r gwrthdaro hwn rhwng Session a’r amgylchedd:

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

Rhowch eich gwrandäwr eich hun yn lle’r un lleol. Wrth gymharu pwyntiau HTTP cyhoeddus, dewiswch ymgeiswyr o’r rhestr dirprwyon HTTP gan gadw polisi Session yn sefydlog. Mae hyn yn rheoli’r cofnodion mapio a ddarperir; dewiswch yn fwriadol hefyd ar gyfer cynlluniau neu westeiwyr eraill y rhaglen. Gall gwasanaeth, IDE, cynhwysydd neu redwr CI etifeddu amgylchedd gwahanol i’r derfynell.

Gadewch i Session reoli ei osodiadau ei hun

Os na ddylai’r rhaglen ddarganfod dirprwyon o’r amgylchedd, gosodwch y polisi cyn y cais cyntaf:

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

Mae trust_env=False hefyd yn effeithio ar ffurfweddu tystysgrifau sy’n ymwneud â’r amgylchedd a dilysu netrc awtomatig. Ystyriwch y dibyniaethau hyn cyn ei ddewis. Ar gyfer bwndel preifat cymeradwy o dystysgrifau CA, gallwch roi llwybr penodol:

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

Defnyddiwch y bwndel a gymeradwywyd mewn gwirionedd a chadwch y dilysu ymlaen. Cadwch Session ar wahân ar gyfer pob polisi llwybro yn lle newid un tra bo gwaith arall yn ei ddefnyddio.

Os nad yw’r naill ddewis yn esbonio llwybr y rhaglen, cymharwch Session ynysig â’r rhaglen yn yr un amgylchedd rhedeg ac â’r un gyrchfan ddiniwed. Cofnodwch y newidynnau dirprwy presennol, gwerth trust_env ac a yw’r alwad yn pasio proxies; cadwch URLau sy’n cynnwys manylion mewngofnodi allan o gofnodion a rennir. Mae llwyddiant ynysig yn cyfeirio’r archwiliad nesaf at greu Session, addasyddion, llifoedd ceisiadau parod neu gludiant pwrpasol. Ni all prawf amgylchedd gyda curl bennu ymddygiad cyfuno Requests ei hun.

Erthyglau cysylltiedig