Jednoliniowiec#
curl -x http://USER-cc-us:PASS@res.proxy-cyber.com:9000 https://api.ipify.org-x (lub --proxy) pobiera adres URL serwera proxy z osadzonymi poświadczeniami. cURL automatycznie tuneluje miejsca docelowe HTTPS za pomocą CONNECT i prosi serwer proxy o rozpoznanie nazwy hosta.
Flagi warte poznania#
| Flaga | Cel |
|---|---|
| - x, -- proxy URL | Proxy: schemat, host, port, opcjonalne referencje |
| - U, -- proxy- user: pass | Poświadczenia oddzielnie, przydatne, gdy hasło zawiera znaki specjalne |
| -- proxy- basic | Wymuś podstawowe uwierzytelnianie proxy (domyślne w przypadku podania hasła) |
| - v | Pokaż wymianę CONNECT, kody statusu proxy i nagłówki odpowiedzi |
| -- noproxy '*' | Ignoruj zmienne środowiska proxy dla tego wywołania |
| - w '% {time _ total}\ n' | Wydrukuj czas porównywania wyjść |
SOCKS5 i zdalne DNS#
# Hostname resolved at the exit (recommended)
curl -x socks5h://USER-cc-de:PASS@res.proxy-cyber.com:9001 https://api.ipify.org
# Hostname resolved locally, then the IP is sent to the proxy (leaks the lookup)
curl -x socks5://USER-cc-de:PASS@res.proxy-cyber.com:9001 https://api.ipify.orgZmienne środowiskowe#
Narzędzia, które wyłuskują się do CURL, i wiele innych, honor http_proxy, https_proxy oraz no_proxy. Eksportuj je raz na sesję pracy.
export https_proxy="http://USER-cc-us:PASS@res.proxy-cyber.com:9000"
export http_proxy="$https_proxy"
export no_proxy="localhost,127.0.0.1"
curl https://api.ipify.org # proxied without -xOdczyt awarii#
curl -v -x http://USER:WRONG@res.proxy-cyber.com:9000 https://api.ipify.org 2>&1 | grep -E "CONNECT|HTTP/1.1 4|HTTP/1.1 5"
# < HTTP/1.1 407 Proxy Authentication Required -> credentials
# < HTTP/1.1 400 Bad Request -> a username parameter is wrong
# < HTTP/1.1 502 Bad Gateway -> no exit for that location; widen itStan na linii CONNECT pochodzi z bramki; stan po Connection established pochodzi z miejsca przeznaczenia. strona błędów mapuje każdy kod bramy.
Obracanie sesji w pętli#
for i in $(seq 1 5); do
curl -s -x "http://USER-cc-us-sid-run$i-ttl-5m:PASS@res.proxy-cyber.com:9000" https://api.ipify.org
echo
done # five different United States exits, each reusable for five minutes under its idPytania, które ludzie zadają#
Czy CURL potrzebuje specjalnej flagi HTTPS przez proxy?
Nie. W przypadku adresu URL proxy http:// cURL automatycznie generuje CONNECT dla miejsc docelowych https://; --proxytunnel ma znaczenie tylko w przypadku wymuszania tunelu na zwykłym HTTP.
Moje hasło zawiera @ lub: i cURL nie działa.
Przekaż dane uwierzytelniające za pomocą opcji -U user:pass zamiast osadzać je w adresie URL lub zakoduj w adresie URL znaki specjalne.