Session-staðgenglar í Python Requests og forgangur umhverfis
Gerðu leiðingu Python Requests fyrirsjáanlega þegar session.proxies, umhverfisbreytur, stillingar beiðna og trust_env vinna saman.
Ef session.proxies vísar á einn endapunkt en skriftan notar staðgengil skeljarinnar leysir endurúthlutun sömu orðabókar ekki áreksturinn. Requests getur sameinað staðgengilsstillingar umhverfis með forgangi fram yfir sjálfgefin gildi Session. Veldu hvort Session eigi áfram að finna stillingar í umhverfinu.
Haltu umhverfisleit, gefðu leiðir í beiðninni
Sendu skýr gildi í hvert einstakt kall, eins og Requests mælir með til að forðast þennan árekstur Session og umhverfis:
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()
Skiptu staðbundna hlustandanum út fyrir þinn. Ef þú berð saman opinbera HTTP-endapunkta, veldu úr lista yfir HTTP-staðgengla og haltu Session-stefnunni óbreyttri. Þetta stýrir færslum vörpunarinnar sem þú sendir; veldu meðvitað líka fyrir önnur skemu eða hýsla forritsins. Þjónusta, IDE, gámur eða CI-keyrari getur erft annað umhverfi en skipanalínan.
Láttu Session stjórna eigin stillingum
Ef forritið á ekki að finna staðgengla í umhverfinu skaltu setja stefnuna fyrir fyrstu beiðni:
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 hefur einnig áhrif á umhverfistengdar vottorðsstillingar og sjálfvirka netrc-auðkenningu. Taktu tillit til þessa áður en þú velur það. Fyrir samþykktan einkapakka CA-vottorða má senda skýra slóð:
response = session.get(
"https://example.com/",
timeout=(5, 15),
verify="/path/to/approved-ca-bundle.pem",
)
Notaðu raunverulega samþykkta pakkann og haltu sannprófun virkri. Hafðu sérstaka Session fyrir hverja leiðingarstefnu í stað þess að breyta einni meðan önnur verkefni nota hana.
Ef hvorug leiðin skýrir leið forritsins, berðu saman einangraða Session og forritið í sama keyrsluumhverfi og að sama skaðlausa áfangastað. Skráðu hvaða staðgengilsbreytur eru til staðar, gildið á trust_env og hvort kallið sendir proxies; slepptu slóðum með auðkennisupplýsingum úr sameiginlegum annálum. Árangur í einangrun beinir næstu skoðun að Session-smíði, aðlögum, ferlum undirbúinna beiðna eða sérsniðnum flutningi. Umhverfispróf með curl ákvarðar ekki sameiningarhegðun Requests sjálfs.