Python Requests-ত proxy IP ব্যৱহাৰ কৰা
Requests-ত প্ৰতিটো অনুৰোধৰ proxy পথ নিৰ্দিষ্ট কৰক, endpoint-ৰ সঠিক scheme বাছক আৰু timeout তথা HTTPS tunnel-ৰ বিফলতা সামলাওক।
আপোনাৰ প্ৰকল্পত 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 বিচাৰে আৰু তাৰ পাছত সেই 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 উঠিব পাৰে। ভুল status থকা response পোৱাৰ পাছত HTTPError শাখা চলে; Timeout-ৰ অৰ্থ হ’ল নিৰ্ধাৰিত সীমা পাৰ হ’ল। setup-ৰ exception chain স্থানীয়ভাৱে পৰীক্ষা কৰক; আনক দেখুওৱাৰ আগতে পৰিচয়পত্ৰ থকা endpoint আৰু ব্যক্তিগত URL আঁতৰাওক।
certificate পৰীক্ষা সক্ৰিয় ৰাখক। অনুমোদিত নেটৱৰ্কত ব্যক্তিগত CA বা পৰিচালিত interception থাকিলে পৰীক্ষা বন্ধ কৰাৰ সলনি প্ৰত্যাশিত trust material দিয়ক।
ইয়াত প্ৰতিটো অনুৰোধৰ বাবে স্পষ্টকৈ দিয়া entry-সমূহে সেই পথসমূহ নিয়ন্ত্ৰণ কৰে, কিন্তু বাদ পৰা scheme-ত পৰিৱেশৰ পৰা proxy বিচৰা প্ৰক্ৰিয়াৰ প্ৰভাৱ এতিয়াও পৰিব পাৰে। call-টো পুনৰ ব্যৱহাৰযোগ্য Session-লৈ নিলে environment variable, Session-ৰ default আৰু প্ৰতিটো অনুৰোধৰ override কেনেকৈ একেলগে কাম কৰিব সেয়া ঠিক কৰক; সংযোগ পুনৰ ব্যৱহাৰ আৰু পথ নিৰ্ধাৰণ নীতি পৃথক সিদ্ধান্ত।