Zergatik ez du curl-ek HTTP_PROXY kontuan hartzen?
curl-en HTTP_PROXY salbuespen nahita egindakoa, protokoloaren araberako aldagaiak, ALL_PROXY eta ingurune bidezko proxy-proba aurreikusgarriak.
HTTP helburuetarako, ezarri letra xehez idatzitako http_proxy. curl-ek nahita ez du kontuan hartzen letra larrizko HTTP_PROXY. POSIX shell batean:
http_proxy=http://127.0.0.1:8080 curl http://example.com/
https_proxy=http://127.0.0.1:8080 curl https://example.com/Esleipen hauek ondoren datorren komandoari soilik eragiten diote. Ordeztu adibideko entzute-puntua zure proxyarekin; amaiera-puntu publikoak konparatzeko, aukeratu hautagai bat HTTP proxyen zerrendatik. https_proxy aldagaiak HTTPS helburuetarako bidea aukeratzen du; http:// duen balio batek helbururaino tunela eraiki dezakeen HTTP proxy arrunta adierazten du oraindik. PowerShell-ek eta Windows-eko komando-shellek bestelako esleipen-sintaxia erabiltzen dute.
Zergatik da arriskutsua letra larrizko idazkera zehatz hori?
CGI inguruneek sarrerako eskaeren goiburuak letra larrizko HTTP_ aldagai bihur ditzakete. Beraz, Proxy izeneko goiburua HTTP_PROXY bihur daiteke. Irteerako konfigurazio gisa fidatuz gero, eskaeraren datuek proxya aukeratzeko aukera izango lukete. curl-ek letra xeheak eskatzeak parekatze hori saihesten du; salbuespena ez zaie modu berean aplikatzen HTTPS eta beste protokoloetako aldagaiei.
Aldagaia aldatzeak bidea aldatzen ez badu
Bilatu lehenik protokoloari dagokion aldagaia, eta gero ordezko ALL_PROXY. Bat datorren NO_PROXY arau batek proxya saihes dezake. Letra xehezko aldaerek eta elkarren lehian dauden definizioek ere badute eragina. Unix motako shell-begizta honek presentzia adierazten du, kredentzialak izan ditzaketen balioak inprimatu gabe:
for name in http_proxy HTTP_PROXY https_proxy HTTPS_PROXY all_proxy ALL_PROXY no_proxy NO_PROXY; do
if printenv "$name" >/dev/null; then
printf '%s is set\n' "$name"
fi
doneAztertu zerrendatutako definizioak lokalean. Bat berriro agertzen bada, begiratu abiarazten duen shellaren, zerbitzuaren, IDEaren, edukiontziaren edo CIaren konfigurazioa. Presentziak sarrera posibleak identifikatzen ditu; ez du esaten zein baliok izan duen lehentasuna.
Eskaera bat proxy-hautaketa horietatik isolatzeko, eman amaiera-puntua eta saihespen-zerrenda hutsa:
curl --proxy http://127.0.0.1:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/Zuzeneko konparazioa baimenduta dagoenean:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Komando hauek heredatutako bidea eta konektagarritasun-hutsegitea bereizten laguntzen dute. Irakurri proxy-probaren emaitzak urratsez urrats ingurune-ezarpen gehiago aldatu aurretik. Aplikatu curl-en aldagaien arauak curl-i; aplikazioaren exekuzio-inguruneak proxyak beste modu batera aurkitu eta bateratu ditzake.