public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
wClient = new WebClient();
wClient.Encoding = Encoding.UTF8;
wClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wClient_DownloadStringCompleted);
}
private void Form1_Load(object sender, EventArgs e)
{
}
WebClient wClient;
string sourceUrl = "";
string source = "";
string desen = "Müsait";
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.
if (varmi) // True değeri döndüğünde lblSonuc kontrolüne "Daha önce alınmamış" uyarısı atanıyor. Eğer "false" ise "Daha önce alınmış".
lblSonuc.Text = "Daha önce alınmamış.";
else
lblSonuc.Text = "Daha önce alınmış.";
}
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 = "https://domainadresi.com/" + txtDomain.Text;
wClient.DownloadStringAsync(new Uri(sourceUrl));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message); // Eğer bir hata verirse yazdırıyoruz.
}
}Merhabalar r10 üyeleri. Bir siteden webclient yardımıyla veri çekip müsait yazısını gördüğünde label içerisine "Daha önce alınmamış" yazısını bastırmak istiyorum ancak sürekli alınmış yazısı çıkıyor. Nerede hata yapmaktayım?
Siteden müsait şeklinde tamamı küçük harf olarak dönüyorsa, yazdığınız desenle eşleşmez. Aşağıdaki gibi options ekleyerek büyük, küçük harf duyarlılığını kapatabilirsiniz.
bool varmi = Regex.IsMatch(source, desen, RegexOptions.IgnoreCase);
Yada source.Contains("aranan") ile regex kullanmadan texti içerip içermediğini kontrol edebilirsiniz.