Ak požadované vyhľadanie stále používa tradičný WHOIS, HTTP proxy môže túto TCP výmenu preniesť, keď jeho politika povoľuje CONNECT k službe WHOIS. Klient musí dokončiť handshake s proxy pred odoslaním textu vyhľadávania. Pre povolený verejný test WHOIS bez nastavených prihlasovacích údajov k proxy ponúka zoznam HTTP proxy kandidátskych sprostredkovateľov; samostatne overte, že niektorý povoľuje hostiteľa služby WHOIS a port 43.

Pre hypotetickú službu s názvom whois.example začnite touto HTTP požiadavkou:

CONNECT whois.example:43 HTTP/1.1
Host: whois.example:43

Zapisujte konce riadkov HTTP ako CRLF. Prečítajte celú odpoveď proxy vrátane jej ukončujúceho prázdneho riadku hlavičky a skontrolujte číselný stav úspechu. Prijatie časti stavového riadku nestačí na začatie ďalšieho protokolu.

Potom odošlite text WHOIS

Po otvorení tunela odošlite dopyt, ktorý tento server WHOIS očakáva. Jednoduchý ilustratívny dopyt je:

example.com<CRLF>

Značka predstavuje bajty návratu vozíka a posunu riadku. Nie je súčasťou názvu domény. Vnútri tejto výmeny WHOIS nie je riadok HTTP GET ani stav odpovede HTTP.

Čítajte text, kým server WHOIS neuzavrie spojenie. Odpoveď môže obsahovať veľa riadkov; prvý nový riadok neznamená, že je úplná. Udržujte časové limity spojenia a čítania v implementácii obmedzené.

Táto postupnosť dáva parseru aj dve odlišné hranice. Najskôr prichádza blok hlavičiek HTTP. Potom prichádza odpoveď WHOIS, ktorej dokončenie je signalizované uzavretím spojenia. Zachovajte bajty načítané do vyrovnávacej pamäte za spracovanou hranicou namiesto toho, aby ste zahodili celé sieťové čítanie.

Odmietnutie proxy znamená, že sa tunel nikdy neotvoril, takže odoslanie domény potom nemôže priniesť výsledok WHOIS. Ak odpoveď servera odkazuje na inú službu WHOIS, každý ďalší dopyt potrebuje vlastné povolené spojenie s touto službou.

Súvisiace články