ପ୍ରକଳ୍ପରେ Requests ଉପଲବ୍ଧ ଥିଲେ, call କୁ ଏକ proxy mapping ଦିଅନ୍ତୁ:

import requests

proxies = {
    "http": "http://127.0.0.1:8080",
    "https": "http://127.0.0.1:8080",
}

response = requests.get(
    "https://example.com/",
    proxies=proxies,
    timeout=(5, 15),
)
response.raise_for_status()
print(response.status_code)

loopback endpoint ବଦଳରେ ଆପଣଙ୍କ ଚାଲୁଥିବା proxy କିମ୍ବା ଏହି ଅନୁରୋଧରେ ପରୀକ୍ଷା କରିବାକୁ ଥିବା HTTP proxy ତାଲିକାର ଏକ ପ୍ରାର୍ଥୀ ଦିଅନ୍ତୁ। key ଗୁଡ଼ିକ ଲକ୍ଷ୍ୟର scheme ବୁଝାଏ: HTTP URL ପାଇଁ http ଏବଂ HTTPS URL ପାଇଁ https। value ଗୁଡ଼ିକ proxy listener ବୁଝାଏ। ଆପଣଙ୍କ ନେଟୱର୍କରେ ପୃଥକ୍ ପଥ ଆବଶ୍ୟକ ହେଲେ ସେଗୁଡ଼ିକ ଭିନ୍ନ endpoint ହୋଇପାରେ।

proxy value http:// କୁ https key ତଳେ ରଖିବା ଉଦ୍ଦେଶ୍ୟମୂଳକ। Requests HTTP listener ଠାରୁ ଏକ CONNECT tunnel ମାଗେ ଏବଂ ତାହା ମଧ୍ୟରେ ଲକ୍ଷ୍ୟ ସହ TLS ସ୍ଥାପନ କରେ; ଏହା proxy ର ଲକ୍ଷ୍ୟ ଓ port ନୀତି ଅଧୀନ। value କୁ https:// କଲେ proxy ନିଜ ସହ TLS ସଂଯୋଗ ମଗାଯାଏ; listener ସାଧାରଣ ପାଠ୍ୟ HTTP ଆଶା କରୁଥିଲେ ଏହା ବିଫଳ ହୋଇପାରେ।

timeout ର ଦୁଇଟି ସଂଖ୍ୟାର ଅର୍ଥ

timeout=(5, 15) ସଂଯୋଗ ଓ ପଢ଼ିବାର timeout ସ୍ଥିର କରେ। ଏହା ମୋଟ ପନ୍ଦର ସେକେଣ୍ଡର ଶେଷ ସୀମା ଲଗାଏ ନାହିଁ। ମଝିରେ ମଝିରେ ଆସୁଥିବା ତଥ୍ୟ, ଏକାଧିକ ଠିକଣା ଓ ସଂଯୋଗ ଚେଷ୍ଟା ବିତିଥିବା ସମୟ ବଢ଼ାଇପାରେ। ଏହି setting ଛାଡ଼ିଦେଲେ Requests କୌଣସି ସାଧାରଣ timeout ଦିଏ ନାହିଁ। ତେଣୁ response ପାଇଁ ଉପଯୁକ୍ତ ସୀମା ବାଛନ୍ତୁ ଏବଂ କାମ ପାଇଁ କଠୋର ମୋଟ ସମୟ ବଜେଟ୍ ଆବଶ୍ୟକ ହେଲେ application ସ୍ତରର deadline ଯୋଡ଼ନ୍ତୁ।

ଯେଉଁ ପର୍ଯ୍ୟାୟରେ ବିଫଳତା ହୁଏ ସେଠାରେ ସମ୍ଭାଳନ୍ତୁ

try:
    response = requests.get(
        "https://example.com/",
        proxies=proxies,
        timeout=(5, 15),
    )
    response.raise_for_status()
except requests.exceptions.ProxyError as error:
    print("Proxy setup failed:", type(error).__name__)
except requests.exceptions.Timeout:
    print("A configured timeout expired")
except requests.exceptions.HTTPError as error:
    print("HTTP status:", error.response.status_code)

CONNECT ପ୍ରତ୍ୟାଖ୍ୟାନ ହେଲେ ଲକ୍ଷ୍ୟର response ଆସିବା ପୂର୍ବରୁ ProxyError ହୋଇପାରେ। error status ଥିବା response ମିଳିବା ପରେ HTTPError ଶାଖା ଆସେ; Timeout ର ଅର୍ଥ ହେଉଛି ନିର୍ଦ୍ଧାରିତ ସୀମା ଶେଷ ହୋଇଛି। setup exception chain ସ୍ଥାନୀୟ ଭାବେ ଯାଞ୍ଚ କରନ୍ତୁ; ସେୟାର କରିବା ପୂର୍ବରୁ ପରିଚୟପତ୍ର ଥିବା endpoint ଓ ବ୍ୟକ୍ତିଗତ URL ବାହାର କରନ୍ତୁ।

certificate ଯାଞ୍ଚ ଚାଲୁ ରଖନ୍ତୁ। ଅନୁମୋଦିତ ନେଟୱର୍କରେ ବ୍ୟକ୍ତିଗତ CA କିମ୍ବା ପରିଚାଳିତ interception ବ୍ୟବହାର ହେଲେ ଯାଞ୍ଚ ବନ୍ଦ କରିବା ବଦଳରେ ଆଶା କରାଯାଉଥିବା trust material ଦିଅନ୍ତୁ।

ପ୍ରତ୍ୟେକ ଅନୁରୋଧର ସ୍ପଷ୍ଟ entry ଗୁଡ଼ିକ ଏଠାରେ ଦିଆଯାଇଥିବା ପଥ ନିୟନ୍ତ୍ରଣ କରେ, କିନ୍ତୁ ଛାଡ଼ିଯାଇଥିବା scheme ଏବେ ମଧ୍ୟ environment ରୁ proxy ଖୋଜିବା ଦ୍ୱାରା ପ୍ରଭାବିତ ହୋଇପାରେ। call କୁ ପୁନର୍ବ୍ୟବହାରଯୋଗ୍ୟ Session କୁ ନେବା ବେଳେ environment variable, Session ର default ଓ ପ୍ରତ୍ୟେକ ଅନୁରୋଧର override କିପରି ପରସ୍ପର କାମ କରିବେ ତାହା ନିର୍ଦ୍ଧାରଣ କରନ୍ତୁ; ସଂଯୋଗ ପୁନର୍ବ୍ୟବହାର ଓ ପଥ ନୀତି ପୃଥକ୍ ଚୟନ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ