İnternet tarihi ve internet saati c# ile nasıl öğrenilir bu makalede bunu inceleceğiz.
Genellikle bir program yazıp süreli lisans oluşturmak isteyen arkadaşlar internet zamanına ihtiyac duyuyor. Bilgisayar tarihine göre lisans sistemi yapmış olsalar, bu programı kullanan kullanıcı tarihi geriye alıp lisans süresini uzatabilir. Yada bir program yazdınız diyelim ve bu program birden fazla bilgisayarda kullanılacak olsun. Kullanıcı bilgisayar tarihini değiştirip crud işlemleri yapabilir. Bu da açık doğurabileceği için program patlayabilir. Bunun önüne geçmek için aşağıdaki sınıfı inceleyerek bu problemi çözebilirsiniz.
İlk olarak console uygulaması oluşturalım.
InternetTarihi adında static bir sınıf oluşturalım. İçerisine aşağıdaki kodları yazalım.
using System;
using System.Globalization;
using System.Net;
namespace Project.WinFormsUI.Classes
{
public static class InternetDate
{
private static DateTime NistZamani(string sunucu)
{
var myHttpWebRequest = (HttpWebRequest)WebRequest.Create(sunucu);
var response = myHttpWebRequest.GetResponse();
string todaysDates = response.Headers["date"];
return DateTime.ParseExact(todaysDates,
"ddd, dd MMM yyyy HH:mm:ss 'GMT'",
CultureInfo.InvariantCulture.DateTimeFormat,
DateTimeStyles.AssumeUniversal);
}
public static DateTime InternetTarihi()
{
DateTime internetTarihi = new DateTime();
string[] sunucular = new string[] {
"http://www.google.com",
"http://www.microsoft.com",
"http://www.msdn.com"
};
for (int i = 0; i < sunucular.Length; i++)
{
try
{
internetTarihi = NistZamani(sunucular[i]);
break;
}
catch (Exception) { }
}
return internetTarihi;
}
}
}
Sınıftan kısaca bahsedeyim. InternetTarihi methodu çalıştığında, tarih nesnesi oluşturuluyor.
Sunucular dizisine google, microsoft ve msdn sunucuları ekleniyor.
Döngü içerisinde, sunucular dizisinden sırayla bir sunucu NistZamani methoduna gönderiliyor. Eğer başarılı bir şekilde gerçekleşmemiş ise diğer sunucu gönderiliyor. Eğer başarılı ise, tarih return edilerek program.cs’ye gönderiliyor.
Eğer internet yok ise tarihin varsayılan değeri “01.01.0001 00:00:00” şeklinde program.cs’ye gönderiliyor.
static void Main(string[] args)
{
var zaman = InternetDate.ZamaniDondur();
if (zaman.Year <= 1) Console.WriteLine("İnternet Bağlantısı Yok");
else Console.WriteLine("İnternet Tarihi Ve Saati " + zaman);
Console.ReadKey();
}
Main methodu içerisinde ZamaniDondur methodu çağırılıyor ve gelen veri zaman değişkenine aktarılıyor. Veri içerisinde belirtilen yıl eğer “0001” ise ekrana “internet bağlantısı yok” şeklinde yazdırılıyor. Eğer “0001” değilse ekrana internet tarihi ve saati yazdırılıyor.
C# ile internetten saat ve tarih nasıl alınır, bu makalede bunu inceledik. Diğer makalelerde görüşmek dileğiyle, iyi kodlamalar dilerim.