Dotaz WHOIS uvnitř tunelu HTTP CONNECT
Sledujte handshake s proxy a požadavek WHOIS jako oddělené výměny, když povolená trasa HTTP CONNECT přenáší TCP dotaz na port 43.
Pokud požadované vyhledání stále používá tradiční WHOIS, může HTTP proxy tuto TCP výměnu přenést, když její politika povoluje CONNECT ke službě WHOIS. Klient musí dokončit handshake s proxy dříve, než odešle text vyhledávání. Pro povolený veřejný test WHOIS bez nastavených přihlašovacích údajů k proxy nabízí seznam HTTP proxy kandidátské prostředníky; samostatně ověřte, že některý povoluje hostitele služby WHOIS a port 43.
U hypotetické služby nazvané whois.example začněte tímto HTTP požadavkem:
CONNECT whois.example:43 HTTP/1.1
Host: whois.example:43
Zapisujte konce řádků HTTP jako CRLF. Přečtěte celou odpověď proxy včetně jejího ukončujícího prázdného řádku hlavičky a zkontrolujte číselný stav úspěchu. Přijetí části stavového řádku nestačí k zahájení dalšího protokolu.
Poté odešlete text WHOIS
Po otevření tunelu odešlete dotaz, který tento server WHOIS očekává. Jednoduchý ilustrativní dotaz je:
example.com<CRLF>
Značka představuje bajty návratu vozíku a posunu řádku. Není součástí názvu domény. Uvnitř této výměny WHOIS není řádek HTTP GET ani stav odpovědi HTTP.
Čtěte text, dokud server WHOIS neuzavře spojení. Odpověď může obsahovat mnoho řádků; první nový řádek neznamená, že je úplná. Udržujte časové limity spojení a čtení v implementaci omezené.
Tato posloupnost dává parseru dvě odlišné hranice. Nejprve přichází blok hlaviček HTTP. Poté přichází odpověď WHOIS, jejíž dokončení je signalizováno uzavřením spojení. Zachovejte bajty načtené do vyrovnávací paměti za zpracovanou hranicí, místo abyste zahodili celé síťové čtení.
Odmítnutí proxy znamená, že se tunel nikdy neotevřel, takže odeslání domény poté nemůže přinést výsledek WHOIS. Pokud odpověď serveru odkazuje na jinou službu WHOIS, každý následný dotaz potřebuje vlastní povolené spojení s touto službou.