Тестирајте HTTP прокси со curl
Со временски ограничен curl-тест проверете ја врската со проксито, HTTPS-тунелот, статусот на одговорот и правилата за заобиколување без менување на глобалното прокси на уредот.
Заменете 127.0.0.1:8080 со крајна точка од вашата услуга или од листата со HTTP прокси-сервери и извршете го ова кон безопасно HTTPS одредиште:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Loopback адресата означува интерфејс што слуша на вашиот компјутер. Командата изрично го избира, ја празни листата за заобиколување на curl за овој повик и дозволува пет секунди за воспоставување врска и петнаесет секунди вкупно. Поставките за прокси на прелистувачот и системот не се менуваат.
Користете ја вистинската извршна датотека curl ако школката го поставува curl како алијас за друга програма; curl --version ја идентификува изработката. Ако самиот интерфејс бара TLS, користете ја шемата на URL за проксито наведена во неговата документација.
Прочитајте четири резултати, не само еден знак за успех
- Поврзување со избраното прокси: адресата и портата се достапни.
- CONNECT е прифатен: проксито отворило тунел кон HTTPS одредиштето.
- Сертификатот на одредиштето е проверен: TLS е завршен со очекуваните проверки за доверба.
- Одговорот на одредиштето е примен: проверете ги статусот и содржината за резултатот што ѝ треба на апликацијата.
По функционален тунел одредиштето може да врати 403 или 429. curl може успешно да заврши и по добиен HTTP-одговор со грешка, затоа запишете ги статусот на одговорот и резултатот за грешка од curl. Самата TCP-врска или успешен CONNECT не се доволни.
Краток резултат за повторени споредби
Во школка слична на Unix отфрлете го телото и испечатете ги статусот на тунелот, статусот на одредиштето, другата страна на врската и изминатото време:
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 го опишува одговорот на тунелот; http_code го опишува конечниот HTTP-одговор. remote_ip е другата страна на curl-врската, а не независно мерење на излезната адреса на проксито. На други системи заменете /dev/null или задржете го телото на одговорот.
Ако тестот не успее, најдете го неуспешниот чекор на воспоставување врска или пренос и споредете го истото одредиште директно таму каде што таа патека е дозволена:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/--noproxy '*' ги заобиколува прокси-серверите. Неуспешна проверка на сертификатот на двете патеки упатува на заеднички проблем со доверба; успешен директен пристап со одбиен CONNECT упатува на автентикација или политика на проксито. Прегледајте го деталниот излез пред споделување бидејќи може да содржи идентификациски информации.
Зачувајте ги крајната точка, целта и временската ознака со исходот. Ова утврдува што работело за тоа барање; идната достапност, приватноста и перформансите под оптоварување бараат посебни докази.