Pakeiskite 127.0.0.1:8080 savo paslaugos galiniu tašku arba adresu iš HTTP tarpinių serverių sąrašo ir vykdykite tai su nekenksmingu HTTPS tikslu:

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

Grįžtamojo ryšio adresas reiškia klausytuvą jūsų kompiuteryje. Komanda jį aiškiai pasirenka, šiam iškvietimui išvalo curl apėjimo sąrašą ir leidžia penkias sekundes ryšiui užmegzti bei penkiolika sekundžių iš viso. Naršyklės ir sistemos tarpinio serverio nustatymų ji nekeičia.

Naudokite tikrąjį curl vykdomąjį failą, jei jūsų apvalkalas curl priskiria kaip kitos programos pseudonimą; curl --version nustato kompiliavimo versiją. Jei pats klausytuvas reikalauja TLS, naudokite jo dokumentacijoje pateiktą tarpinio serverio URL schemą.

Vertinkite keturis rezultatus, ne vieną sėkmės ženklą

  1. Prisijungta prie pasirinkto tarpinio serverio: adresas ir prievadas pasiekiami.
  2. CONNECT priimtas: tarpinis serveris atvėrė tunelį į HTTPS tikslą.
  3. Tikslo sertifikatas patikrintas: TLS baigtas su numatytomis pasitikėjimo patikromis.
  4. Tikslo atsakymas gautas: patikrinkite būseną ir turinį pagal programai reikalingą rezultatą.

Po veikiančio tunelio tikslas gali grąžinti 403 arba 429. curl gali sėkmingai baigtis ir gavęs HTTP klaidos atsakymą, todėl užrašykite atsakymo būseną ir curl klaidos rezultatą. Vien TCP ryšio ar sėkmingo CONNECT nepakanka.

Glaustas rezultatas pakartotiniams palyginimams

Unix tipo apvalkale atmeskite atsakymo turinį ir išveskite tunelio būseną, tikslo būseną, kitą ryšio pusę bei praėjusį laiką:

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 aprašo tunelio atsakymą; http_code aprašo galutinį HTTP atsakymą. remote_ip yra kita curl ryšio pusė, ne nepriklausomas tarpinio serverio išėjimo adreso matavimas. Kitose sistemose pakeiskite /dev/null arba išsaugokite atsakymo turinį.

Jei bandymas nepavyksta, raskite nepavykusį ryšio užmezgimo arba perdavimo žingsnį ir palyginkite tą patį tikslą tiesiogiai ten, kur toks kelias leidžiamas:

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

--noproxy '*' apeina tarpinius serverius. Sertifikato patikros nesėkmė abiejuose keliuose rodo bendrą pasitikėjimo problemą; sėkmingas tiesioginis ryšys ir atmestas CONNECT rodo tarpinio serverio autentifikavimą arba politiką. Prieš dalydamiesi išsamia išvestimi ją peržiūrėkite, nes joje gali būti tapatybę atskleidžiančios informacijos.

Kartu su rezultatu išsaugokite galinį tašką, tikslą ir laiko žymą. Tai patvirtina, kas veikė tai užklausai; būsimam pasiekiamumui, privatumui ir našumui esant apkrovai reikia atskirų įrodymų.

Susiję straipsniai