O interogare WHOIS în interiorul unui tunel HTTP CONNECT
Urmați strângerea de mână a proxy-ului și cererea WHOIS ca două schimburi separate când o rută HTTP CONNECT permisă transportă o interogare TCP către portul 43.
Dacă o căutare necesară folosește încă WHOIS tradițional, un proxy HTTP poate transporta acel schimb TCP atunci când politica sa permite CONNECT către serviciul WHOIS. Clientul trebuie să încheie strângerea de mână a proxy-ului înainte de a trimite textul căutării. Pentru un test WHOIS public permis fără credențiale de proxy configurate, lista de proxy-uri HTTP oferă intermediari candidați; confirmați separat că unul permite gazda serviciului WHOIS și portul 43.
Pentru un serviciu ipotetic numit whois.example, începeți cu această cerere HTTP:
CONNECT whois.example:43 HTTP/1.1
Host: whois.example:43
Serializați terminațiile de linie HTTP ca CRLF. Citiți răspunsul complet al proxy-ului, inclusiv linia finală vidă de antet, și verificați starea numerică de succes. Primirea doar a unei părți din linia de stare nu este suficientă pentru a începe protocolul următor.
Apoi trimiteți textul WHOIS
După deschiderea tunelului, trimiteți interogarea pe care o așteaptă acel server WHOIS. O interogare ilustrativă simplă este:
example.com<CRLF>
Marcajul reprezintă octeții de revenire a carului și de trecere la linie nouă. Nu face parte din numele de domeniu. În interiorul acestui schimb WHOIS nu există linie HTTP GET și nici stare de răspuns HTTP.
Citiți textul până când serverul WHOIS închide conexiunea. Un răspuns poate conține multe linii; prima linie nouă nu înseamnă că este complet. Mențineți limitele de timp pentru conexiune și citire restrânse în implementare.
Această secvență oferă parserului și două limite distincte. Mai întâi vine un bloc de antete HTTP. Apoi vine răspunsul WHOIS, a cărui finalizare este semnalată prin închiderea conexiunii. Păstrați orice octeți memorizați dincolo de o limită analizată în loc să aruncați o citire de rețea întreagă.
Un refuz al proxy-ului înseamnă că tunelul nu s-a deschis niciodată, așa că trimiterea unui domeniu ulterior nu poate produce un rezultat WHOIS. Dacă răspunsul serverului indică un alt serviciu WHOIS, orice interogare ulterioară are nevoie de propria conexiune permisă către acel serviciu.