Za HTTP odredišta postavite http_proxy malim slovima. curl namjerno zanemaruje HTTP_PROXY velikim slovima. U POSIX ljusci:

http_proxy=http://127.0.0.1:8080 curl http://example.com/
https_proxy=http://127.0.0.1:8080 curl https://example.com/

Ove dodjele vrijede samo za naredbu koja slijedi odmah iza njih. Zamijenite primjer adrese slušatelja svojim proxyjem; za usporedbu javnih krajnjih točaka odaberite kandidata s popisa HTTP proxyja. Varijabla https_proxy bira rutu za HTTPS odredišta; vrijednost s http:// i dalje označava obični HTTP proxy koji može uspostaviti tunel do odredišta. PowerShell i Windows naredbene ljuske koriste drukčiju sintaksu dodjele.

Zašto je upravo taj zapis velikim slovima opasan

CGI okruženja mogu pretvoriti zaglavlja dolaznih zahtjeva u varijable HTTP_ velikim slovima. Zaglavlje nazvano Proxy zato može postati HTTP_PROXY. Povjerenje u tu varijablu kao postavku izlaznih veza omogućilo bi podacima zahtjeva da biraju proxy. Zahtjev curl-a za malim slovima izbjegava to preslikavanje; iznimka se ne primjenjuje jednako na HTTPS i varijable drugih protokola.

Ako promjena varijable ne promijeni rutu

Najprije potražite varijablu za određeni protokol, a zatim pričuvnu ALL_PROXY. Odgovarajuće pravilo NO_PROXY može zaobići proxy. Važne su i inačice malim slovima te konkurentske definicije. Ova petlja za Unix-sličnu ljusku prijavljuje prisutnost bez ispisa vrijednosti koje mogu sadržavati vjerodajnice:

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
done

Lokalno pregledajte navedene definicije. Ako se neka ponovno pojavi, provjerite konfiguraciju pokretačke ljuske, servisa, IDE-a, spremnika ili CI-ja. Prisutnost označava moguće ulaze; ne govori koja je vrijednost prevladala.

Da biste jedan zahtjev izdvojili iz tih izbora proxyja, navedite i krajnju točku i prazan popis zaobilaženja:

curl --proxy http://127.0.0.1:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/

Za dopuštenu usporedbu s izravnom vezom:

curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/

Ove naredbe pomažu razlikovati naslijeđenu rutu od pogreške povezivanja. Pročitajte rezultate testa proxyja po fazama prije mijenjanja dodatnih postavki okruženja. Pravila varijabli curl-a primjenjujte na curl; vlastito izvršno okruženje aplikacije može drukčije otkrivati i objedinjavati proxyje.

Povezani članci