WHOIS užklausa HTTP CONNECT tunelyje
Sekite tarpinio serverio rankos paspaudimą ir WHOIS užklausą kaip du atskirus mainus, kai leidžiamas HTTP CONNECT maršrutas perduoda TCP užklausą į 43 prievadą.
Jei reikalinga paieška vis dar naudoja tradicinį WHOIS, HTTP tarpinis serveris gali perduoti šį TCP mainą, kai jo politika leidžia CONNECT į WHOIS paslaugą. Klientas turi užbaigti tarpinio serverio rankos paspaudimą prieš siųsdamas paieškos tekstą. Leidžiamam viešam WHOIS testui be sukonfigūruotų tarpinio serverio prisijungimo duomenų HTTP tarpinių serverių sąrašas siūlo kandidatus tarpininkus; atskirai patvirtinkite, kad vienas leidžia WHOIS paslaugos mazgą ir 43 prievadą.
Hipotetinei paslaugai, vadinamai whois.example, pradėkite nuo šios HTTP užklausos:
CONNECT whois.example:43 HTTP/1.1
Host: whois.example:43
HTTP eilučių pabaigas rašykite kaip CRLF. Perskaitykite visą tarpinio serverio atsakymą, įskaitant baigiamąją tuščią antraštės eilutę, ir patikrinkite skaitinį sėkmės statusą. Gavus tik dalį statuso eilutės neužtenka pradėti kitam protokolui.
Tada nusiųskite WHOIS tekstą
Atidarius tunelį, nusiųskite užklausą, kurios laukia tas WHOIS serveris. Paprasta iliustracinė užklausa yra:
example.com<CRLF>
Žymuo reiškia vežimėlio grąžinimo ir eilutės perkėlimo baitus. Jis nėra domeno vardo dalis. Šiame WHOIS maine nėra HTTP GET eilutės ir HTTP atsakymo statuso.
Skaitykite tekstą, kol WHOIS serveris uždarys ryšį. Atsakyme gali būti daug eilučių; pirmoji nauja eilutė nereiškia, kad jis baigtas. Laikykite ryšio ir skaitymo laukimo terminus ribotus įgyvendinime.
Ši seka taip pat suteikia analizatoriui dvi skirtingas ribas. Pirmiausia ateina HTTP antraščių blokas. Po to ateina WHOIS atsakymas, kurio pabaiga signalizuojama uždarant ryšį. Išsaugokite visus baitus, buferiuotus už apdorotos ribos, o ne išmeskite visą tinklo skaitymą.
Tarpinio serverio atmetimas reiškia, kad tunelis niekada nebuvo atidarytas, todėl vėliau nusiuntus domeną WHOIS rezultato gauti negalima. Jei serverio atsakymas nurodo kitą WHOIS paslaugą, bet kuri tolesnė užklausa turi turėti savo leidžiamą ryšį su ta paslauga.