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 процессинин чөйрөсүн жаңыртат жана кийин башталган бала процесстерге таасир этиши мүмкүн. Ал Python-ду иштеткен shell-ди жаңыртпайт, байланышсыз колдонмону да, мурунтан иштеп жаткан бала процессти да.

Максат интерактивдүү shell-иңиздеги келечектеги буйруктарды өзгөртүү болсо, бул өзгөртүүнү shell-де жасаңыз. Бир гана иштетилген куралга башка маршрут керек болсо, анын чөйрөсүн көрсөтүлгөндөй subprocess чакыруусунун жанында кармаңыз.

Тектеш макалалар