Provoni një proxy HTTP me curl
Përdorni një test curl me kufij kohe për të shqyrtuar lidhjen me proxy-n, tunelin HTTPS, statusin e përgjigjes dhe rregullat e anashkalimit pa ndryshuar proxy-n global të pajisjes.
Zëvendësoni 127.0.0.1:8080 me një pikë fundore të shërbimit tuaj ose nga lista e proxy-ve HTTP dhe ekzekutojeni kundrejt një destinacioni HTTPS të padëmshëm:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Adresa loopback nënkupton një dëgjues në kompjuterin tuaj. Komanda e zgjedh shprehimisht, zbraz listën e anashkalimit të curl për këtë thirrje dhe lejon pesë sekonda për krijimin e lidhjes dhe pesëmbëdhjetë sekonda gjithsej. Nuk ndryshon cilësimet e proxy-t të shfletuesit ose sistemit.
Përdorni skedarin e vërtetë të ekzekutueshëm curl nëse shell-i e përcakton curl si pseudonim për një program tjetër; curl --version identifikon ndërtimin. Nëse vetë dëgjuesi kërkon TLS, përdorni skemën URL të proxy-t të dokumentuar për të.
Lexoni katër rezultate, jo një sinjal të vetëm suksesi
- Lidhje me proxy-n e zgjedhur: adresa dhe porta janë të arritshme.
- CONNECT pranohet: proxy ka hapur një tunel drejt destinacionit HTTPS.
- Certifikata e destinacionit verifikohet: TLS ka përfunduar me kontrollet e pritshme të besimit.
- Përgjigjja e destinacionit merret: shqyrtoni statusin dhe përmbajtjen për rezultatin që i duhet aplikacionit.
Pas një tuneli funksional destinacioni mund të kthejë 403 ose 429. curl mund të përfundojë me sukses edhe pas marrjes së një përgjigjeje gabimi HTTP, ndaj regjistroni statusin e përgjigjes dhe rezultatin e gabimit të curl. Vetëm lidhja TCP ose një CONNECT i suksesshëm nuk mjafton.
Një rezultat kompakt për krahasime të përsëritura
Në një shell të ngjashëm me Unix, hidhni trupin e përgjigjes dhe shtypni statusin e tunelit, statusin e destinacionit, palën tjetër të lidhjes dhe kohën e kaluar:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --silent --show-error --output /dev/null --write-out 'http=%{http_code} connect=%{http_connect} peer=%{remote_ip} total=%{time_total}\n' https://example.com/http_connect përshkruan përgjigjen e tunelit; http_code përshkruan përgjigjen HTTP përfundimtare. remote_ip është pala tjetër e lidhjes së curl, jo një matje e pavarur e adresës së daljes së proxy-t. Në sisteme të tjera zëvendësoni /dev/null ose mbani trupin e përgjigjes.
Nëse testi dështon, gjeni hapin e krijimit ose transferimit që dështoi dhe krahasoni të njëjtin destinacion drejtpërdrejt aty ku lejohet ai itinerar:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/--noproxy '*' anashkalon proxy-t. Dështimi i verifikimit të certifikatës në të dyja rrugët tregon drejt një problemi të përbashkët besimi; suksesi i drejtpërdrejtë bashkë me CONNECT të refuzuar tregon drejt autentikimit ose politikës së proxy-t. Shqyrtoni daljen e hollësishme përpara ndarjes, pasi mund të përmbajë të dhëna identifikuese.
Ruani pikën fundore, objektivin dhe vulën kohore bashkë me rezultatin. Kjo përcakton çfarë funksionoi për atë kërkesë; disponueshmëria në të ardhmen, privatësia dhe performanca nën ngarkesë kërkojnë prova më vete.