Integracje · Początkujący

cURL przez serwer proxy: każda istotna opcja z przykładami

cURL to najszybszy sposób na udowodnienie, że proxy działa i referencja, którą naśladuje każda biblioteka. Poznaj jego pięć flag proxy, a będziesz mógł debugować dowolnego klienta.

2 min odczytu 6 sekcji Sprawdzono Zespół redakcyjny Proxy Cyber

Jednoliniowiec#

Pierwsze żądanie
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#

FlagaCel
- x, -- proxy URLProxy: schemat, host, port, opcjonalne referencje
- U, -- proxy- user: passPoświadczenia oddzielnie, przydatne, gdy hasło zawiera znaki specjalne
-- proxy- basicWymuś podstawowe uwierzytelnianie proxy (domyślne w przypadku podania hasła)
- vPokaż 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#

socks5h
# 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.org

Zmienne ś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.

Powłoka
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 -x

Odczyt awarii#

Werbosy
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 it

Stan 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#

Bash
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 id

Pytania, 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.

Twoje konto

Zarządzaj swoimi proxy na jednym koncie

Porównuj sieci, składaj zamówienia i śledź saldo oraz prośby o wsparcie z jednego pulpitu nawigacyjnego. Nasz zespół sprawdza płatności i podaje szczegóły połączenia po dostawie.

Utwórz konto