Jaribu proksi ya HTTP kwa curl
Tumia jaribio la curl lenye kikomo cha muda kukagua muunganisho wa proksi, handaki la HTTPS, hali ya jibu na kanuni za kupita bila proksi, bila kubadili proksi ya kifaa kwa ujumla.
Badilisha 127.0.0.1:8080 kwa sehemu ya mwisho ya huduma yako au kutoka orodha ya proksi za HTTP, kisha endesha hii kwa lengwa la HTTPS lisilo na madhara:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Anwani ya loopback inamaanisha sehemu inayopokea miunganisho kwenye kompyuta yako. Amri hii inaichagua wazi, inafuta orodha ya kupita bila proksi ya curl kwa mwito huu, na inaruhusu sekunde tano kuanzisha muunganisho na sekunde kumi na tano kwa jumla. Haibadili mipangilio ya proksi ya kivinjari au mfumo.
Tumia faili halisi ya kutekeleza curl ikiwa shell yako huifanya curl jina mbadala la programu nyingine; curl --version hutambulisha toleo lililojengwa. Ikiwa sehemu inayopokea miunganisho yenyewe inahitaji TLS, tumia mpangilio wa URL ya proksi ulio kwenye nyaraka zake.
Soma matokeo manne, si ishara moja ya mafanikio
- Imeunganishwa na proksi iliyochaguliwa: anwani na porti zinafikiwa.
- CONNECT imekubaliwa: proksi imefungua handaki hadi lengwa la HTTPS.
- Cheti cha lengwa kimethibitishwa: TLS imekamilika na ukaguzi wa uaminifu uliotarajiwa.
- Jibu la lengwa limepokelewa: kagua hali na maudhui yake kwa matokeo yanayohitajika na programu yako.
Handaki linalofanya kazi linaweza kufuatiwa na 403 au 429 kutoka lengwa. curl pia inaweza kumaliza kwa mafanikio baada ya kupokea jibu la hitilafu ya HTTP, hivyo andika hali ya jibu na matokeo ya hitilafu ya curl. Muunganisho wa TCP au CONNECT iliyofaulu pekee haitoshi.
Matokeo mafupi kwa ulinganisho unaorudiwa
Kwenye shell inayofanana na Unix, tupa mwili wa jibu na uchapishe hali ya handaki, hali ya lengwa, upande mwingine wa muunganisho na muda uliopita:
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 hueleza jibu la handaki; http_code hueleza jibu la mwisho la HTTP. remote_ip ni upande mwingine wa muunganisho wa curl, si kipimo huru cha anwani ya kutoka ya proksi. Kwenye mifumo mingine badilisha /dev/null au hifadhi mwili wa jibu.
Jaribio likishindwa, tafuta hatua ya kuanzisha muunganisho au kuhamisha data iliyoshindwa na ulinganishe lengwa hilo moja kwa moja mahali ambapo njia hiyo inaruhusiwa:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/--noproxy '*' hupita bila proksi. Kushindwa kwa uthibitishaji wa cheti kwenye njia zote mbili kunaelekeza kwenye tatizo la uaminifu la pamoja; kufaulu kwa njia ya moja kwa moja pamoja na CONNECT kukataliwa kunaelekeza kwenye uthibitishaji au sera ya proksi. Kagua matokeo ya kina kabla ya kuyashiriki kwa sababu yanaweza kuwa na taarifa za utambulisho.
Hifadhi sehemu ya mwisho, lengwa na alama ya muda pamoja na matokeo. Hii inaonyesha kilichofanya kazi kwa ombi hilo; upatikanaji wa baadaye, faragha na utendaji chini ya mzigo vinahitaji ushahidi tofauti.