C# ile Domain Alınabilirlik Sorgulama

Paylaş
 

Bu yazımızda, bir domain arama sitesi olan kimindir.com‘ un üzerinden düzenli ifadeleri kullanıp, parametre göndererek nasıl bilgi çekeceğimize bakıp, örnek uygulamamız olan Domain Alınabilirlik Sorgulama programının kaynak kodları ile birlikte inceleyeceğiz.

wClient değişkenimiz ile “kimindir.com” adresine parametre göndererek domain alınmış mı, alınmamış mı kontrolü yapacağız. WebClient, kısaca sitelerin kaynak kodlarını taramamızı sağlar. Bir nevi bottur yani.

Programın ekran görüntüleri aşağıda mevcuttur.

 

Sorgula1
 

Sorgula2

İlk olarak Visual Studio‘ da Proje oluşturduktan sonra kod sayfasına System.Net kütüphanesini eklemeniz gerekmektedir.

using System.Net;

Kaynak Kodlarımız:

// Değişkenlerimizi tanımlıyoruz..
WebClient wClient;
string sourceUrl = "";
string source = "";
string desen = "alınmamış";
// Değişkenler tanımlandı..

public Form1()
{
InitializeComponent();
wClient = new WebClient();
wClient.Encoding = Encoding.UTF8;
wClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wClient_DownloadStringCompleted);
}

void wClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
try
{
source = e.Result; // Başarıyla çekilen kaynak kodlarımız "source" değişkenine atanıyor.
bool varmi = Regex.IsMatch(source, desen); //"desen" içerisindeki ifademizi kontrol ettiriyoruz. Eğer "alınmamış" ifadesi kaynak kodlarımızın içerisinde geçiyorsa, true değeri dönüyor.
if (varmi) // True değeri döndüğünde lbl_Sonuc kontrolüne "Sorguladığınız domain şuanda boştadır. Alım yapabilirsiniz." uyarısı atanıyor. Eğer "false" ise "Sorguladığınız domain daha önce alınmıştır.".
{
lbl_Sonuc.ForeColor = Color.Green; // Domain alınabilir olduğu için lbl_Sonuc labelinin font rengini yeşil yapıyoruz.
lbl_Sonuc.Text = "Sorguladığınız domain şuanda boştadır. Alım yapabilirsiniz.";
}
else
{
lbl_Sonuc.ForeColor = Color.Red; // Domain daha önce alındığı için lbl_Sonuc labelinin font rengini kırmızı yapıyoruz.
lbl_Sonuc.Text = "Sorguladığınız domain daha önce alınmıştır.";
}
Form.ActiveForm.Height = 208; // Sonucu ekranda gösterebilmek için formumuzun yüksekliğini 208 yaparak aşağıya doğru büyütüyoruz.
}
catch (Exception ex)
{
MessageBox.Show(ex.Message); // Eğer bir hata verirse yazdırıyoruz.
}

}

private void button1_Click(object sender, EventArgs e)
{
try
{
sourceUrl = "http://kimindir.com/" + txt_Domain.Text; // "Sorgula" butonumuza bastığımızda, txt_Domain kontrolümüzün içerisindeki değer parametre olarak hedef sitemize gönderiliyor.
wClient.DownloadStringAsync(new Uri(sourceUrl)); // Ve asenkron olarak sonucumuz gelene kadar bekliyoruz. Bu sırada kodlar gelene kadar loading gifleri koyabiliriz. Ama ben gerek duymadım.
}
catch (Exception ex)
{
MessageBox.Show(ex.Message); // Eğer bir hata verirse yazdırıyoruz.
}
}

desen” değişkenimizin içinde; “alınmamış” ifadesi var.

Form1, Visual studio’da yeni bir proje oluşturduğumuzda otomatik eklenen bir xaml dosyasıdır. Projemiz debug edildiğinde ilk olarak bu formu gösterir.

Form1 yapıcı metodu içinde wClient değişkenimiz için WebClient nesnesi yarattık. Encoding özelliğini; Encoding.UTF8 olarak atadık. Bunun nedeni kaynak kodlarının türkçe karakter sorunu olmadan çekebilmektir.

wClient.DownloadStringCompleted olayı(event), hedef sitemizin kaynak kodlarını başarıyla çektiğinde tetikleniyor.

Bu yazı 1.590 kere okundu.
  • Site Yorum

Bir yorum bırak

YAZAR HAKKINDA

Bağımsız çalışan, çok düşünen, kodlamaya aşık ve güldürmeyi seven bir developer...
SPONSOR BAĞLANTILAR
SPONSOR BAĞLANTILAR

  • ÇOK OKUNAN
  • YENİ
  • YORUM
Facebookta Takip Edin
Kredi hakkında bilgi alanı
şişli escort avcılar escort esenyurt escort
deneme bonusu sohbet hattı sohbet hattı avcılar escort esenyurt escort