Gerekli bir arama hâlâ geleneksel WHOIS kullanıyorsa, HTTP proxy’si ilkesi WHOIS hizmetine CONNECT’e izin verdiğinde bu TCP alışverişini taşıyabilir. İstemci, arama metnini göndermeden önce proxy el sıkışmasını tamamlamalıdır. Proxy kimlik bilgileri yapılandırılmadan izin verilen bir genel WHOIS testi için HTTP proxy listesi aday aracılar sunar; bunlardan birinin WHOIS hizmetinin ana bilgisayarına ve 43 numaralı bağlantı noktasına izin verdiğini ayrıca doğrulayın.

whois.example adlı varsayımsal bir hizmet için bu HTTP isteğiyle başlayın:

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

HTTP satır sonlarını CRLF olarak yazın. Proxy yanıtını, onu sonlandıran boş başlık satırı dahil tamamen okuyun ve sayısal başarı durumunu denetleyin. Durum satırının yalnızca bir bölümünü almak bir sonraki protokolü başlatmak için yeterli değildir.

Ardından WHOIS metnini gönderin

Tünel açıldıktan sonra o WHOIS sunucusunun beklediği sorguyu gönderin. Basit bir örnek sorgu şudur:

example.com<CRLF>

Bu işaret, satır başı ve satır besleme baytlarını temsil eder. Alan adının parçası değildir. Bu WHOIS alışverişinin içinde HTTP GET satırı da HTTP yanıt durumu da yoktur.

Metni WHOIS sunucusu bağlantıyı kapatana kadar okuyun. Bir yanıt çok sayıda satır içerebilir; ilk yeni satır eksiksiz olduğu anlamına gelmez. Uygulamada bağlantı ve okuma zaman aşımlarını sınırlı tutun.

Bu sıra ayrıştırıcıya iki farklı sınır da verir. Önce bir HTTP başlık bloğu gelir. Ardından WHOIS yanıtı gelir ve bunun tamamlandığı bağlantının kapanmasıyla bildirilir. Ayrıştırılmış bir sınırın ötesinde tamponlanan baytları tüm ağ okumasını atmanız yerine koruyun.

Proxy tarafından reddedilme, tünelin hiç açılmadığı anlamına gelir; bu yüzden sonradan alan adı göndermek WHOIS sonucu üretemez. Sunucunun yanıtı başka bir WHOIS hizmetine işaret ediyorsa, sonraki her sorgu o hizmete kendi izinli bağlantısını gerektirir.

İlgili makaleler