Înlocuiește 127.0.0.1:8080 cu un punct de conectare al serviciului tău sau din lista de proxy-uri HTTP și execută comanda către o destinație HTTPS inofensivă:

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

Adresa de loopback indică o interfață de ascultare pe propriul calculator. Comanda o selectează explicit, golește lista de ocolire a curl pentru acest apel și permite cinci secunde pentru stabilirea conexiunii și cincisprezece secunde în total. Nu modifică setările proxy ale browserului sau sistemului.

Folosește executabilul curl real dacă shell-ul definește curl ca alias pentru alt program; curl --version identifică versiunea compilată. Dacă interfața de ascultare însăși necesită TLS, utilizează schema URL de proxy indicată în documentația ei.

Citește patru rezultate, nu un singur semn de succes

  1. Conectat la proxy-ul ales: adresa și portul sunt accesibile.
  2. CONNECT acceptat: proxy-ul a deschis un tunel către destinația HTTPS.
  3. Certificatul destinației verificat: TLS s-a încheiat cu verificările de încredere așteptate.
  4. Răspunsul destinației primit: examinează starea și conținutul pentru rezultatul necesar aplicației.

Un tunel funcțional poate fi urmat de un 403 sau 429 de la destinație. curl poate și să se încheie cu succes după primirea unui răspuns de eroare HTTP, așa că înregistrează atât starea răspunsului, cât și rezultatul de eroare al curl. O conexiune TCP sau un CONNECT reușit nu sunt suficiente singure.

Un rezultat compact pentru comparații repetate

Într-un shell de tip Unix, elimină corpul și afișează starea tunelului, starea destinației, interlocutorul conexiunii și timpul scurs:

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 descrie răspunsul tunelului; http_code descrie răspunsul HTTP final. remote_ip este interlocutorul conexiunii curl, nu o măsurătoare independentă a adresei de ieșire a proxy-ului. Pe alte sisteme, înlocuiește /dev/null sau păstrează corpul răspunsului.

Dacă testul eșuează, identifică pasul de stabilire a conexiunii sau de transfer care a eșuat și compară cu accesul direct la aceeași destinație, unde acea rută este permisă:

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

--noproxy '*' ocolește proxy-urile. Eșecul verificării certificatului pe ambele rute indică o problemă de încredere comună; succesul conexiunii directe împreună cu refuzul CONNECT indică autentificarea sau politica proxy-ului. Verifică ieșirea detaliată înainte de a o distribui, deoarece poate conține informații de identificare.

Salvează punctul de conectare, ținta și marcajul temporal împreună cu rezultatul. Acesta stabilește ce a funcționat pentru acea cerere; disponibilitatea viitoare, confidențialitatea și performanța sub sarcină necesită dovezi separate.

Articole similare