یو Python پروګرام کولی شي یو ماشوم امر ته خپل پروکسي چاپېریال ورکړي. میراثي ارزښتونه کاپي کړئ، کاپي بدله کړئ او هغه 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,
)

بېلګه فرض کوي چې curl لا دمخه شته. د هغې HTTPS غوښتنه کولی شي هغه HTTP پروکسي وکاروي چې اړین تونل ملاتړ کوي. د دې عامه وېبپاڼې د کتنې لپاره چې پروکسي اعتبارنامې نه لري، د HTTP پروکسي لست څخه یو نوماند کولی شي د بېلګې پای ټکی بدل کړي. ماشوم لاهم د کاپي شوي چاپېریال پاتې برخه ترلاسه کوي، په شمول د هر هغه تېرېدنې ترتیباتو چې پلي کېږي.

env ورکول دا غوښتنه هغه چاپېریال ته رسوي. کاپي د os.environ بدلولو مخه نیسي چې د Python په بهیر کې د بل کار لپاره وي.

په os.environ کې مستقیم ګمارل هم معنا لري: دا د Python د بهیر چاپېریال تازه کوي او کولی شي هغو ماشومانو ته اغېزه وکړي چې وروسته پیلېږي. دا هغه shell نه تازه کوي چې Python یې پیل کړ، نه نااړوند اپلیکیشن او نه هغه ماشوم چې لا دمخه روان دی.

که موخه دا وي چې ستاسو په متقابل shell کې راتلونکي امرونه بدل شي، هغه بدلون په shell کې وکړئ. که یوازې یو پیل شوی وسیله بل لار ته اړتیا ولري، د هغې چاپېریال لکه څنګه چې ښودل شوی د subprocess غوښتنې ترڅنګ وساتئ.

اړوندې مقالې