Proksi za Session katika Python Requests na kipaumbele cha mazingira
Fanya uelekezaji wa Python Requests utabirike wakati session.proxies, vigezo vya mazingira, mipangilio ya ombi na trust_env vinaingiliana.
Ikiwa session.proxies inaelekea ncha moja lakini hati inatumia proxy ya shell, kuweka upya kamusi ileile hakutatatua mgongano. Requests inaweza kuunganisha mipangilio ya proxy ya mazingira kwa kipaumbele juu ya chaguomsingi za Session. Chagua kama Session iendelee kugundua mipangilio kutoka mazingira.
Hifadhi ugunduzi wa mazingira, toa njia kwenye ombi
Pitisha thamani wazi kwa mwito mmoja mmoja, kama Requests inavyopendekeza kuzuia mgongano huu wa Session na mazingira:
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()
Badilisha msikilizaji wa ndani na wako. Ukilinganisha ncha za HTTP za umma, chagua wagombea kutoka orodha ya proksi za HTTP huku sera ya Session ikiwa thabiti. Hii hudhibiti rekodi za ulinganifu zilizotolewa; chagua kimakusudi pia kwa skimu au seva nyingine zinazotumiwa na programu. Huduma, IDE, kontena au mkimbizaji wa CI anaweza kurithi mazingira tofauti na terminali.
Acha Session isimamie mipangilio yake
Ikiwa programu haipaswi kugundua proxy kutoka mazingira, weka sera kabla ya ombi la kwanza:
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 pia huathiri usanidi wa vyeti unaohusiana na mazingira na uthibitishaji wa netrc wa kiotomatiki. Zingatia utegemezi huo kabla ya kuchagua. Kwa kifurushi binafsi cha CA kilichoidhinishwa, unaweza kutoa njia wazi:
response = session.get(
"https://example.com/",
timeout=(5, 15),
verify="/path/to/approved-ca-bundle.pem",
)
Tumia kifurushi kilichoidhinishwa kweli na uache uhakiki ukiwa umewashwa. Hifadhi Session tofauti kwa kila sera ya uelekezaji badala ya kubadilisha moja wakati kazi nyingine zinaitumia.
Ikiwa hakuna chaguo linaloeleza njia ya programu, linganisha Session iliyotengwa na programu katika mazingira yale yale ya utekelezaji na lengwa lisilo na madhara. Rekodi vigezo vya proxy vilivyopo, thamani ya trust_env na kama mwito hupitisha proxies; usiweke URL zenye taarifa za kuingia kwenye kumbukumbu za kushirikiwa. Mafanikio ya kutengwa huelekeza ukaguzi unaofuata kwenye uundaji wa Session, adapta, mitiririko ya maombi yaliyotayarishwa au usafirishaji maalumu. Jaribio la mazingira kwa curl haliamui tabia ya kuunganisha ya Requests yenyewe.