WHOIS upit unutar HTTP CONNECT tunela
Pratite rukovanje s proxyjem i WHOIS zahtjev kao odvojene razmjene kada dopuštena HTTP CONNECT ruta prenosi TCP upit na port 43.
Ako potrebna provjera još uvijek koristi tradicionalni WHOIS, HTTP proxy može prenijeti tu TCP razmjenu kada njegova politika dopušta CONNECT prema WHOIS servisu. Klijent mora dovršiti rukovanje s proxyjem prije slanja teksta provjere. Za dopušteni javni WHOIS test bez konfiguriranih proxy vjerodajnica popis HTTP proxyja nudi kandidate posrednika; zasebno potvrdite da jedan dopušta host WHOIS servisa i port 43.
Za hipotetski servis nazvan whois.example, započnite ovim HTTP zahtjevom:
CONNECT whois.example:43 HTTP/1.1
Host: whois.example:43
Zapišite završetke HTTP redaka kao CRLF. Pročitajte cijeli odgovor proxyja, uključujući njegov završni prazni redak zaglavlja, i provjerite numerički status uspjeha. Primanje dijela statusnog retka nije dovoljno za početak sljedećeg protokola.
Zatim pošaljite WHOIS tekst
Nakon što se tunel otvori, pošaljite upit koji taj WHOIS poslužitelj očekuje. Jednostavan ilustrativni upit je:
example.com<CRLF>
Oznaka predstavlja bajtove povratka kolica i prijelaza u novi redak. Nije dio naziva domene. Unutar ove WHOIS razmjene nema HTTP GET retka ni HTTP statusa odgovora.
Čitajte tekst dok WHOIS poslužitelj ne zatvori vezu. Odgovor može sadržavati mnogo redaka; prvi novi redak ne znači da je potpun. Držite vremenske rokove za vezu i čitanje ograničenima u implementaciji.
Ovaj slijed daje parseru i dvije različite granice. Najprije dolazi blok HTTP zaglavlja. Nakon toga dolazi WHOIS odgovor, čiji se završetak signalizira zatvaranjem veze. Sačuvajte bajtove međuspremnika izvan obrađene granice umjesto da odbacite cijelo mrežno čitanje.
Odbijanje proxyja znači da se tunel nikada nije otvorio, pa slanje domene nakon toga ne može dati WHOIS rezultat. Ako odgovor poslužitelja upućuje na drugi WHOIS servis, svaki daljnji upit treba vlastitu dopuštenu vezu s tim servisom.