Python subprocess.run: fun aṣẹ ọmọ kan ni àyíká proxy tirẹ
Fi àyíká tí a dà kó jẹ́ fún subprocess.run nígbà tí aṣẹ ọmọ kan nílò proxy láìyípadà àyíká Python fún iṣẹ́ mìíràn.
Ètò Python lè fun aṣẹ ọmọ kan ní àyíká proxy tirẹ. Dà àwọn iye tí a jogún kó, yí ẹ̀dà náà padà, kí o sì fi í fún 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,
)Àpẹẹrẹ náà ro pé curl ti wà tẹ́lẹ̀. Ìbéèrè HTTPS rẹ̀ lè lo proxy HTTP tí ó ṣe àtìlẹ́yìn fún ọ̀nà abẹ́lẹ̀ tí a nílò. Fún àyẹ̀wò ojú-òpó àpapọ̀ yìí láìṣètò àwọn ẹ̀rí proxy, olùdíje kan láti àkọsílẹ̀ proxy HTTP lè rọ́pò ibi-ìparí àpẹẹrẹ náà. Ọmọ náà ṣì gba ìyókù àyíká tí a dà kó, pẹ̀lú àwọn ètò ìforígbárí tí ó bá yẹ.
Fífi env fúnni ń fún ìpè yìí ní àyíká yẹn. Ẹ̀dà náà yẹra fún yíyí os.environ padà fún iṣẹ́ mìíràn nínú ìlànà Python.
Pípín iye tààrà sí os.environ tún ní ìtumọ̀: ó ń ṣe àtúnṣe àyíká ìlànà Python ó sì lè ní ipa lórí àwọn ọmọ tí a bẹ̀rẹ̀ lẹ́yìn náà. Kò ṣe àtúnṣe shell tí ó bẹ̀rẹ̀ Python, bẹ́ẹ̀ ni kò ṣe àtúnṣe ohun-èlò tí kò ní í ṣe pẹ̀lú rẹ̀ tàbí ọmọ tí ń ṣiṣẹ́ tẹ́lẹ̀.
Bí èròǹgbà bá ni láti yí àwọn àṣẹ ọjọ́ iwájú padà nínú shell ìbáraẹnisọ̀rọ̀ rẹ, ṣe ìyípadà yẹn nínú shell. Bí irinṣẹ́ kan ṣoṣo tí a bẹ̀rẹ̀ bá nílò ọ̀nà mìíràn, pa àyíká rẹ̀ mọ́ lẹ́gbẹ̀ẹ́ ìpè subprocess gẹ́gẹ́ bí a ti fi hàn.