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 ලබා දීමෙන් මෙම ඇමතුමට එම පරිසරය ලැබේ. පිටපත Python ක්‍රියාවලියේ වෙනත් කටයුතු සඳහා os.environ වෙනස් නොවීම වළක්වයි.

සෘජුවම os.environ වෙත පැවරීම ද අර්ථවත් ය: එය Python හි ක්‍රියාවලි පරිසරය යාවත්කාලීන කරන අතර පසුව ආරම්භ වන දරුවන්ට බලපෑම් කළ හැක. එය Python ආරම්භ කළ shell යාවත්කාලීන නොකරයි, නොබැඳි යෙදුමක් හෝ දැනටමත් ක්‍රියාත්මක වන දරුවෙකු ද නොවේ.

අදහස ඔබේ අන්තර්ක්‍රියාකාරී shell තුළ අනාගත විධාන වෙනස් කිරීම නම්, එම වෙනස shell තුළ කරන්න. එක් මෙවලමකට පමණක් වෙනත් මාර්ගයක් අවශ්‍ය නම්, පෙන්වා ඇති පරිදි එහි පරිසරය subprocess ඇමතුම අසල තබන්න.

අදාළ ලිපි