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 ର ନିଜ ମିଶ୍ରଣ ଆଚରଣ ନିର୍ଣ୍ଣୟ କରେନାହିଁ।