প্ৰক্সি পৰীক্ষকত global urllib opener পৰিবৰ্তন পৰিহাৰ কৰক
প্ৰক্ৰিয়াজুৰি routing আৰু timeout ডিফল্ট সলনি কৰাৰ পৰিৱৰ্তে urllib প্ৰক্সি পৰীক্ষা ইয়াৰ নিজৰ opener-তে ৰাখক।
from urllib.request import ProxyHandler, build_opener
def make_proxy_opener(proxy_uri):
return build_opener(ProxyHandler({
"http": proxy_uri,
"https": proxy_uri,
}))
opener = make_proxy_opener("http://proxy.example.net:8080")
# Use opener.open(destination, timeout=10) for this route.যদি কোনো ৰুট পৰীক্ষাৰ হয় তেন্তে এই opener-ৰ নিজৰ open পদ্ধতি মাতক। উদাহৰণৰ HTTP এণ্ডপইণ্ট আপোনাৰ সেৱাৰ পৰা বা ৰাজহুৱা পৰীক্ষাৰ বাবে HTTP প্ৰক্সি তালিকাৰ পৰা আহিব পাৰে। খণ্ডটোৱে মালিকানা দেখুৱায়; ই সম্পূৰ্ণ প্ৰমাণীকৰণ বা স্বাস্থ্য নীতি নিৰ্ধাৰণ নকৰে। একাউণ্ট-নিৰ্দিষ্ট যিকোনো handler সেই অভিপ্ৰেত client-তে সংযুক্ত ৰাখক।
urllib.request.install_opener() এ প্ৰক্ৰিয়াজুৰি ডিফল্ট সলনি কৰে যিটো পিছৰ module-স্তৰৰ urlopen() কলত ব্যৱহাৰ হয়। সেয়েহে প্ৰক্সিৰ মাজেৰে ঘূৰি থকা পৰীক্ষকে অসম্পৰ্কিত অনুৰোধবোৰ ইয়াৰ শেষ এণ্ডপইণ্ট ব্যৱহাৰ কৰি এৰি যাব পাৰে। অস্থায়ীভাৱে ইনষ্টল কৰি পৰিষ্কাৰত ঘূৰাই দিলেও শ্বেয়াৰ কৰা পৰিৱৰ্তনৰ সময়ত সমসাময়িক অনুৰোধ চলিবলৈ দিয়ে।
socket.setdefaulttimeout() এ একেধৰণে পিছত সৃষ্টি হোৱা socket-ৰ ডিফল্ট সলনি কৰে। যেতিয়া কেৱল পৰীক্ষাটোৱে ইয়াক পাব লাগে তেতিয়া অপাৰেচন-স্তৰৰ timeout ব্যৱহাৰ কৰক।
পৰীক্ষাৰ প্ৰতিক্ৰিয়া বন্ধ কৰক আৰু ফলাফল নিৰ্দিষ্ট ৰাখক: HTTP ত্ৰুটি প্ৰতিক্ৰিয়া স্বয়ংক্ৰিয়ভাৱে মৃত প্ৰক্সি শ্ৰোতা নহয়। যদি async সেৱাত synchronous urllib পৰীক্ষা ব্যৱহাৰ কৰা হয়, তেন্তে অৱৰোধক কাম উপযুক্ত worker-লৈ স্থানান্তৰ কৰক; সেই কাৰ্যকৰী সিদ্ধান্তে global opener পৰিৱৰ্তনক বিচ্ছিন্ন নকৰে।
এটা পৰীক্ষাই আন এটা নেটৱৰ্ক নীতি এৰি নিদিয়াকৈ ইয়াৰ পৰ্যবেক্ষণ ঘূৰাই দিব লাগে। ইয়াৰ নিজৰ client object আৰু সীমিত অপাৰেচনে সেই সীমা স্পষ্ট কৰে।