פֿאַר וואָס os.system("unset http_proxy") ענדערט גאָרנישט
באַזייטיקט דעם פּראָקסי וואַריאַבל פֿונעם ריכטיקן Python פּראָצעס אָדער גיט דעם קינד באַפֿעל אַ קאָנטראָלירטע סוויווע.
די פֿאָלגנדיקע רופֿן שאַפֿן צוויי באַזונדערע shell פּראָצעסן:
os.system('unset http_proxy')
os.system('curl https://example.com/')
דער ערשטער shell נעמט אַרויס אַ וואַריאַבל פֿון זײַן אייגענער סוויווע און ענדיקט זיך. דער Python פּראָצעס האָט נאָך דעם אָריגינעלן ווערט. דער צווייטער shell ירשעט עס ווידער.
גיט דעם קינד די סוויווע וואָס איר האָט געמיינט
ווען נאָר איין באַפֿעל דאַרף לויפֿן אָן ירשענען פּראָקסי וואַריאַבלען, קאָפּירט Pythons סוויווע און גיט די קאָפּיע צום קינד:
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 פּראָקסי איינשטעלונג איבערשרייַבט אויך די פּראָקסי אויסוואַל פֿון curls אייגענער קאָנפֿיגוראַציע. די סוויווע קאָפּיע האַלט אַנדערע ווערטן וואָס דאָס באַפֿעל קען דאַרפֿן. אַריבערגעבן אַ ליידיקע סוויווע אַנשטאָט קען אַוועקנעמען די זוכפּאַדן פֿון אויספֿירלעכע טעקעס און אומפֿאַרבונדענע אַפּליקאַציע קאָנפֿיגוראַציע.
פֿאַר ווײַטערדיקע אָפּעראַציעס אין דעם Python פּראָצעס אַליין, ענדערט os.environ מיט אַ כּוונה. דאָס באַאיינפֿלוסט וואָס נײַ שאַפֿענדיקע קינדער ירשענען; עס שרייַבט נישט איבער די סוויווע פֿונעם עלטער טערמינאַל און רעקאָנפֿיגורירט נישט בהכרח HTTP קליענטן וואָס האָבן שוין אַרײַנגעכאַפּט זייערע איינשטעלונגען.
subprocess API דאָקומענטירט דעם env אַרגומענט, און os.environ באַשרייַבט Pythons פּראָצעס סוויווע. די דאָזיקע גרענעצן זענען די סיבה וואָס אַ shell באַפֿעל קען מעלדן הצלחה בשעת דער נעקסטער בקשה נוצט נאָך דעם אַלטן פּראָקסי.
צום סוף, פּרופֿט דעם קליענט וואָס איר פֿירט טאַקע אויס. סוויווע וואַריאַבלען זענען נאָר איין קאָנפֿיגוראַציע אַרײַנגאַנג. אַן בפֿירושער פּראָקסי אָפּציע אָדער די אַפּליקאַציעס אייגענע קאָנפֿיגוראַציע קען ממשיך זײַן אויסצוקלײַבן אַ פּראָקסי נאָך דעם וואָס די וואַריאַבלען זענען אַוועק.