Me ya sa os.system("unset http_proxy") ba ya canza komai
Cire masu canjin wakili daga tsarin Python daidai ko ba da ingantaccen yanayi ga umarnin yaro.
Waɗannan kira suna ƙirƙirar matakai biyu daban na shell:
os.system('unset http_proxy')
os.system('curl https://example.com/')
Shell na farko yana cire mai canji daga yanayinsa sannan ya ƙare. Tsarin Python yana da ainihin ƙimar har yanzu. Shell na biyu yana gado ta kuma.
Ba yaron yanayin da kuka yi niyya
Lokacin da umarni ɗaya kawai zai gudana ba tare da gadon masu canjin wakili ba, kwafi yanayin Python ka ba yaron kwafin:
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)
Bayyanannen saitin wakili mara komai na curl shima yana soke zaɓin wakili daga nasa tsarin curl. Kwafin yanayin yana adana wasu ƙimar da umarnin zai iya buƙata. Ba da yanayi mara komai a maimako na iya cire hanyoyin neman fayilolin da za a iya aiwatarwa da tsarin aikace-aikacen da ba shi da alaƙa.
Don ayyukan da suka biyo baya a cikin tsarin Python kanta, canza os.environ da gangan. Wannan yana shafar abin da sabbin yara suka gada; ba ya sake rubuta yanayin tashar iyaye kuma ba lallai ba ne ya sake daidaita abokan cinikin HTTP waɗanda suka riga sun ɗauki saitunan su.
API ɗin subprocess yana rubuta hujjar env, kuma os.environ yana kwatanta yanayin tsarin Python. Waɗannan iyakokin su ne dalilin da ya sa umarnin shell zai iya ba da rahoton nasara yayin da buƙata ta gaba har yanzu tana amfani da tsohon wakili.
A ƙarshe, duba abokin ciniki da kuke gudanarwa a zahiri. Masu canjin yanayi ɗaya ne daga shigarwar tsari. Zaɓin wakili bayyananne ko tsarin aikace-aikacen kansa na iya ci gaba da zaɓar wakili bayan waɗannan masu canjin sun tafi.