Eitt Python-forrit kann geva einari barnarokning eini sína egnu proxy-umhvørvi. Avskriva tey arvaðu virðini, broyta avskriftina og send hana til 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,
)

Dømið gongur út frá at curl longu er tøkt. HTTPS-fyrispurningur hansara kann nýta ein HTTP-proxy, sum veitir tørvandi tunnilin. Til hesa kanning av einari almennari heimasíðu uttan uppsett proxy-innlating kann ein valmøguleiki úr HTTP-proxy-listanum taka staðin fyri endapunktin í døminum. Barnið fær framvegis restina av tí avskrivaða umhvørvinum, eisini viðkomandi umfaringsstillingar.

At senda env gevur hesi kallinu tað umhvørvið. Avskriftin forðar fyri at os.environ verður broytt fyri annað arbeiði í Python-rokningsferlinum.

At seta beinleiðis í os.environ hevur eisini týdning: tað dagførir rokningsferilsumhvørvið í Python og kann ávirka børn, sum verða sett í gongd seinni. Tað dagførir ikki skelina, ið setti Python í gongd, eitt óviðkomandi forrit ella eitt barn, sum longu koyrir.

Um ætlanin er at broyta komandi kommandó í tí interaktiva skelini, ger tá broytingina í skelini. Um bert eitt sett í gongd amboð tørvar aðra leið, halt tá umhvørvi tess við síðuna av subprocess-kallinum, sum víst.

Skyldar greinar