Пераменныя проксі ў cmd.exe: пазбягайце прабелаў вакол знака роўнасці
Выкарыстоўвайце сінтаксіс прысваення cmd.exe, які не дадае лішніх прабелаў у імя або значэнне пераменнай проксі.
У cmd.exe запісвайце прысваенне без прабелаў вакол знака роўнасці:
set "HTTP_PROXY=http://proxy.example:8080"
Гэтая знешне падобная каманда дае іншы вынік:
set HTTP_PROXY = http://proxy.example:8080
Цяпер у канцы імя ёсць прабел, і значэнне пачынаецца з прабелу. Праграма, якая шукае HTTP_PROXY, не запытвае HTTP_PROXY . Паказанае прысваенне можа выглядаць амаль правільным, але патрэбны пошук застаецца пустым.
Запіс усяго прысваення ў лапках таксама перашкаджае выпадковаму трапленню канцавых прабелаў у значэнне. Запіс у лапках толькі значэння — іншая форма, і ў захаваным значэнні могуць застацца сімвалы лапок.
Замяніце прыклад слухача на HTTP-канчатковую кропку вашай службы або са спісу HTTP-проксі. Запускайце патрэбны кліент з таго акна каманд, каб ён атрымаў пераменную ў спадчыну. Праграма, якая ўжо працуе ў іншым месцы, не атрымлівае новае асяроддзе.
Гэта сінтаксіс cmd.exe. PowerShell выкарыстоўвае прысваенне пераменнай асяроддзя накшталт $env:HTTP_PROXY = 'http://proxy.example:8080'; у PowerShell прабелы ў гэтым выразе — не тая ж памылка. Праграма ўсё адно павінна падтрымліваць пераменную і пратакол проксі, якія ёй падаюць.