Python Requests లో Session ప్రాక్సీలు, పర్యావరణ ప్రాధాన్యత
session.proxies, పర్యావరణ వేరియబుల్స్, అభ్యర్థన ఎంపికలు, trust_env కలిసి పనిచేసేటప్పుడు Python Requests రూటింగ్ను ఊహించగలిగేలా చేయండి.
session.proxies ఒక ఎండ్పాయింట్ చూపినా స్క్రిప్ట్ shell ప్రాక్సీని వాడితే అదే డిక్షనరీ మళ్లీ కేటాయించడం వైరుధ్యం పరిష్కరించదు. Requests పర్యావరణ ప్రాక్సీ సెట్టింగ్లను Session డిఫాల్ట్లకన్నా ప్రాధాన్యంతో కలపవచ్చు. Session పర్యావరణం నుంచి సెట్టింగ్లు వెతకడం కొనసాగించాలా ఎంచుకోండి.
పర్యావరణ గుర్తింపు ఉంచి మార్గాలను అభ్యర్థనలో ఇవ్వండి
ఈ Session/పర్యావరణ వైరుధ్యం నివారించడానికి Requests సూచన ప్రకారం ప్రతి విడి కాల్కు స్పష్టమైన విలువలు ఇవ్వండి:
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()
స్థానిక లిసనర్ను మీ దానితో మార్చండి. పబ్లిక్ HTTP ఎండ్పాయింట్లు పోల్చేటప్పుడు Session విధానం స్థిరంగా ఉంచి HTTP ప్రాక్సీల జాబితా నుంచి అభ్యర్థులను తీసుకోండి. ఇది ఇచ్చిన మ్యాపింగ్ ఎంట్రీలను నియంత్రిస్తుంది; యాప్ వాడే ఇతర స్కీమ్లు లేదా హోస్ట్లకూ ఉద్దేశపూర్వకంగా ఎంచుకోండి. సేవ, IDE, కంటైనర్ లేదా CI రన్నర్ టెర్మినల్కు భిన్నమైన పర్యావరణం పొందవచ్చు.
Session తన సెట్టింగ్లను నియంత్రించనివ్వండి
యాప్ పర్యావరణం నుంచి ప్రాక్సీలను గుర్తించకూడదంటే మొదటి అభ్యర్థనకు ముందే విధానం పెట్టండి:
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 పర్యావరణ సంబంధిత సర్టిఫికెట్ సెట్టింగ్లు, ఆటోమేటిక్ netrc ప్రమాణీకరణపైనా ప్రభావం చూపుతుంది. ఎంచుకునే ముందు ఈ ఆధారాలను పరిగణించండి. ఆమోదించిన ప్రైవేట్ CA బండిల్కు స్పష్టమైన పాత్ ఇవ్వవచ్చు:
response = session.get(
"https://example.com/",
timeout=(5, 15),
verify="/path/to/approved-ca-bundle.pem",
)
నిజంగా ఆమోదించిన బండిల్ వాడి ధృవీకరణ ఆన్లో ఉంచండి. ఇతర పనులు వాడుతుండగా ఒక Session మార్చకుండా ప్రతి రూటింగ్ విధానానికీ వేరు Session ఉంచండి.
రెండు మార్గాలూ యాప్ దారిని వివరించకపోతే అదే రన్టైమ్, హానిలేని గమ్యంతో విడిగా ఉంచిన Sessionను యాప్తో పోల్చండి. ఉన్న ప్రాక్సీ వేరియబుల్స్, trust_env విలువ, కాల్ proxies ఇస్తుందా నమోదు చేయండి; ప్రవేశ వివరాలున్న URLలను పంచుకునే లాగ్లలో పెట్టకండి. విడి విజయం తర్వాతి పరిశీలనను Session నిర్మాణం, అడాప్టర్లు, సిద్ధం చేసిన అభ్యర్థనల ప్రవాహాలు లేదా కస్టమ్ ట్రాన్స్పోర్ట్లకు మళ్లిస్తుంది. curl పర్యావరణ పరీక్ష Requests సొంత కలిపే ప్రవర్తనను నిర్ణయించదు.