কিয় os.system("unset http_proxy") এ একো সলনি নকৰে
প্ৰক্সি চলকটো সঠিক Python প্ৰক্ৰিয়াৰ পৰা আঁতৰাওক বা এটা চাইল্ড কমাণ্ডক নিয়ন্ত্ৰিত পৰিৱেশ দিয়ক।
তলৰ কলবোৰে দুটা সুকীয়া shell প্ৰক্ৰিয়া সৃষ্টি কৰে:
os.system('unset http_proxy')
os.system('curl https://example.com/')
প্ৰথম shell-এ নিজৰ পৰিৱেশৰ পৰা এটা চলক আঁতৰাই ওলাই যায়। Python প্ৰক্ৰিয়াত মূল মানটো এতিয়াও থাকে। দ্বিতীয় shell-এ ইয়াক পুনৰ উত্তৰাধিকাৰী হিচাপে পায়।
চাইল্ডক আপুনি ইচ্ছা কৰা পৰিৱেশ দিয়ক
যেতিয়া কেৱল এটা কমাণ্ড উত্তৰাধিকাৰী প্ৰক্সি চলক নোহোৱাকৈ চলাব লাগে, Python-ৰ পৰিৱেশ কপি কৰি কপিটো চাইল্ডক দিয়ক:
import os
import subprocess
env = os.environ.copy()
for name in ('http_proxy', 'https_proxy', 'all_proxy',
'HTTP_PROXY', 'HTTPS_PROXY', 'ALL_PROXY'):
env.pop(name, None)
subprocess.run(['curl', '--proxy', '', 'https://example.com/'],
env=env, check=True)
curl-ৰ স্পষ্ট খালী প্ৰক্সি ছেটিঙে curl-ৰ নিজৰ সংৰূপৰ পৰা হোৱা প্ৰক্সি নিৰ্বাচনো অতিক্ৰম কৰে। পৰিৱেশৰ কপিয়ে কমাণ্ডটোৰ প্ৰয়োজন হ'ব পৰা অন্য মানসমূহ সংৰক্ষণ কৰে। ইয়াৰ পৰিৱৰ্তে খালী পৰিৱেশ দিলে এক্সিকিউটেবল সন্ধানৰ পথ আৰু অপ্ৰাসংগিক এপ্লিকেচন সংৰূপ আঁতৰি যাব পাৰে।
Python প্ৰক্ৰিয়াৰ ভিতৰতে পৰৱৰ্তী কাৰ্যৰ বাবে os.environ ইচ্ছাকৃতভাৱে সলনি কৰক। ই নতুনকৈ সৃষ্টি হোৱা চাইল্ডে কি উত্তৰাধিকাৰী পায় তাক প্ৰভাৱিত কৰে; ই মূল টাৰ্মিনেলৰ পৰিৱেশ পুনৰ লিখা নকৰে বা ইতিমধ্যে নিজৰ ছেটিং ধৰি ৰখা HTTP ক্লায়েন্টক পুনৰ সংৰূপো নকৰে।
subprocess API-এ env যুক্তিটোৰ বিষয়ে নথিভুক্ত কৰে, আৰু os.environ-এ Python-ৰ প্ৰক্ৰিয়া পৰিৱেশ বৰ্ণনা কৰে। এই পৰিসৰবোৰেই কাৰণ এটা shell কমাণ্ডে সফলতা জনালেও পৰৱৰ্তী অনুৰোধে এতিয়াও পুৰণি প্ৰক্সি ব্যৱহাৰ কৰে।
শেষত, আপুনি প্ৰকৃততে চলাই থকা ক্লায়েন্টটো পৰীক্ষা কৰক। পৰিৱেশ চলক হৈছে এটা সংৰূপ ইনপুট। এটা স্পষ্ট প্ৰক্সি বিকল্প বা এপ্লিকেচনৰ নিজৰ সংৰূপে সেই চলকসমূহ নোহোৱা হোৱাৰ পিছতো প্ৰক্সি বাছনি কৰি থাকিব পাৰে।