Python subprocess.run: agħti lil ordni wild waħdu l-ambjent tal-proxy tiegħu
Għaddi ambjent ikkupjat lil subprocess.run meta ordni wild wieħed jeħtieġ proxy mingħajr ma tbiddel l-ambjent ta' Python għal xogħol ieħor.
Programm Python jista' jagħti lil ordni wild wieħed l-ambjent tal-proxy tiegħu. Ikkupja l-valuri li ntirtu, ibdel il-kopja, u għaddiha lil subprocess.run:
import os
import subprocess
child_env = os.environ.copy()
child_env["https_proxy"] = "http://proxy.example:8080"
subprocess.run(
["curl", "--head", "https://www.example.com/"],
env=child_env,
check=True,
timeout=30,
)L-eżempju jassumi li curl diġà disponibbli. It-talba HTTPS tiegħu tista' tuża proxy HTTP li jappoġġja l-mina meħtieġa. Għal din il-verifika ta' sit pubbliku mingħajr kredenzjali tal-proxy konfigurati, kandidat mil-lista tal-proxy HTTP jista' jissostitwixxi l-endpoint tal-eżempju. Il-wild xorta jirċievi l-bqija tal-ambjent ikkupjat, inkluż kwalunkwe setting ta' bypass li japplika.
Meta tgħaddi env, din is-sejħa tingħata dak l-ambjent. Il-kopja tevita li os.environ jinbidel għal xogħol ieħor fil-proċess ta' Python.
L-assenjazzjoni diretta lil os.environ għandha tifsira wkoll: taġġorna l-ambjent tal-proċess ta' Python u tista' taffettwa wlied li jibdew wara. Ma taġġornax il-qoxra li nediet Python, applikazzjoni mhux relatata, jew wild li diġà qed jaħdem.
Jekk il-ħsieb huwa li tbiddel ordnijiet futuri fil-qoxra interattiva tiegħek, agħmel dak it-tibdil fil-qoxra. Jekk għodda waħda mniedi biss teħtieġ rotta differenti, żomm l-ambjent tagħha ħdejn is-sejħa subprocess kif muri.