Ако необходимата справка все още използва традиционен WHOIS, HTTP прокси може да пренесе този TCP обмен, когато политиката му разрешава CONNECT към WHOIS услугата. Клиентът трябва да завърши ръкостискането с прокси, преди да изпрати текста на справката. За разрешен публичен WHOIS тест без зададени идентификационни данни за прокси списъкът с HTTP прокси предлага възможни посредници; проверете отделно, че един от тях разрешава хоста на WHOIS услугата и порт 43.

За хипотетична услуга на име whois.example започнете с тази HTTP заявка:

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

Записвайте краищата на HTTP редовете като CRLF. Прочетете целия отговор на прокси, включително завършващия празен ред на заглавката, и проверете числовия статус за успех. Получаването на част от реда на състоянието не е достатъчно, за да започне следващият протокол.

След това изпратете WHOIS текста

След като тунелът се отвори, изпратете заявката, която този WHOIS сървър очаква. Проста илюстративна заявка е:

example.com<CRLF>

Маркерът означава байтовете за връщане на каретка и преминаване на нов ред. Той не е част от името на домейна. В този WHOIS обмен няма ред HTTP GET и няма HTTP статус на отговор.

Четете текста, докато WHOIS сървърът затвори връзката. Отговорът може да съдържа много редове; първият нов ред не означава, че е пълен. Дръжте изчакванията за връзка и четене ограничени в реализацията.

Тази последователност дава на парсера две отделни граници. Първо идва блок със HTTP заглавки. След това идва WHOIS отговорът, чието завършване се означава със затваряне на връзката. Запазвайте байтовете, буферирани отвъд разбраната граница, вместо да изхвърляте цялото мрежово четене.

Отказ от прокси означава, че тунелът така и не се е отворил, така че изпращането на домейн след това не може да даде WHOIS резултат. Ако отговорът на сървъра сочи към друга WHOIS услуга, всяка следваща заявка се нуждае от собствена разрешена връзка с тази услуга.

Подобни статии