Cruthaíonn na glaonna seo a leanas dhá phróiseas blaoisce ar leithligh:

os.system('unset http_proxy')
os.system('curl https://example.com/')

Baineann an chéad bhláthóg athróg as a timpeallacht féin agus críochnaíonn sé. Tá an luach bunaidh fós ag an bpróiseas Python. Faigheann an dara bláthóg le hoidhreacht é arís.

Tabhair don leanbh an timpeallacht a bhí beartaithe agat

Nuair nach gcaithfidh ach ordú amháin rith gan athróga seachfhreastalaí a fuarthas le hoidhreacht, cóipeáil timpeallacht Python agus cuir an chóip chuig an leanbh:

import os
import subprocess

env = os.environ.copy()
for name in ('http_proxy', 'https_proxy', 'all_proxy',
             'HTTP_PROXY', 'HTTPS_PROXY', 'ALL_PROXY'):
    env.pop(name, None)
subprocess.run(['curl', '--proxy', '', 'https://example.com/'],
               env=env, check=True)

Sáraíonn an socrú seachfhreastalaí folamh soiléir de chuid curl freisin roghnú seachfhreastalaí ó chumraíocht curl féin. Caomhnaíonn an chóip timpeallachta luachanna eile a d'fhéadfadh a bheith ag teastáil ón ordú. Má chuirtear timpeallacht fholamh ina ionad, d'fhéadfaí cosáin chuardaigh d'fheidhmeannaigh agus cumraíocht feidhmchláir neamhghaolmhar a bhaint.

Le haghaidh oibríochtaí ina dhiaidh sin sa phróiseas Python féin, athraigh os.environ go réasúnta. Bíonn tionchar aige sin ar an méid a fhaigheann leanaí nuachruthaithe le hoidhreacht; ní athscríobhann sé timpeallacht an teirminéil tuismitheora ná ní athchumraíonn sé cliaint HTTP a ghlac a socruithe cheana féin.

Déanann an API subprocess an argóint env a dhoiciméadú, agus cuireann os.environ síos ar thimpeallacht phróisis Python. Is iad na scóip seo an chúis gur féidir le hordú blaoisce rath a thuairisciú agus an chéad iarraidh eile fós ag úsáid an tsean-seachfhreastalaí.

Ar deireadh, seiceáil an cliant atá á rith agat i ndáiríre. Is ionchur cumraíochta amháin iad athróga timpeallachta. Is féidir le rogha seachfhreastalaí soiléir nó cumraíocht féin feidhmchláir seachfhreastalaí a roghnú i gcónaí tar éis na hathróga sin a bheith imithe.

Ailt ghaolmhara