Hergangi bir yerel veya uzak kaynaktan veri gönderme ve bir kaynaktan veri almada birden fazla yöntem sağlar. Bu işlemleri yapmak için System.Net.WebClient sınıfı kullanılır.
Bu sınıfa ulaşmak için;
using
System.Net; //eklenmesi gerekir.
Temel olarak sınıfı tanımlamak için;
WebClient olusanclient =
new
WebClient();
Temel olarak metotları;
1. Dosya indirme DownloadFile();
Genel Kullanımı;
<<WebClient Nesnesi>>.DownloadFile(<<URL adresi>>, <<Kayıt yapılacak Dosya Yolu>>);
Eğer sadece URI ‘yi diske kaydettmek istiyorsak, Yukarıdaki gibi DownloadFile metodunu kullanabiliriz. Uygulamamızda web sayfamızdan gelen datayı işlemek istiyorsak OpenRead metodundan faydalanabiliriz. Aşağıdaki örnek bir web sayfasının kaynak kodunun okunması ile ilgilidir.
Örnek Kullanım;
WebClient olusanclient= new WebClient();
olusanclient.DownloadFile(“http://www.google.com”, “C:\\google.html”);
ileri örnekler için
StreamReader
nesnesi anlatımından sonra.
2. DownloadData();
Kaynak adresteki veriyi bir bayt dizisi olarak indirir.
Genel Kullanımı;
<<WebClient Nesnesi>>.DownloadData(<<indirilecek URL>>);
Örnek Kullanım;
WebClient olusanclient= new WebClient();
olusanclient.DownloadData(“http://deneme.com/ornek.rar”);
3. DownloadString()
Bir URL isteği yanıtları (kaynağı) indirilir veya bir akışa yazılabilir. En göze çarpan özelliği bu akışlar içerisinden istenen veri aranabilir.
Genel Kullanımı;
<<WebClient Nesnesi>>.DownloadString(<<indirilecek URL>>);
Örnek Kullanım;
WebClient client = new WebClient();
string sonuc = client.DownloadString(“http://zonguldakeml.k12.tr”);
Response.Write(sonuc);
string sonuc = client.DownloadString(“http://zonguldakeml.k12.tr”);
Response.Write(sonuc);
4. OpenRead()
Uygulamamızda web sayfamızdan gelen datayı işlemek istiyorsak OpenRead metodundan faydalanabiliriz. Aşağıdaki örnek bir web sayfasının kaynak kodunun okunması ile ilgilidir.
Genel Kullanımı;
<<WebClient Nesnesi>>.OpenRead(<<indirilecek URL>>);
Örnek Kullanım;
WebClient wClient = new WebClient();
Stream st = wClient.OpenRead(“http://www.google.com”); //bu sınıfı ileride ele alacağız
Stream st = wClient.OpenRead(“http://www.google.com”); //bu sınıfı ileride ele alacağız
5. OpenWrite()
WebClient sınıfının OpenWrite isimli metodu ise, bize URI ‘ ye data gönderebilmemiz için yazılabilir stream döner.
Genel Kullanımı;
<<WebClient Nesnesi>>.OpenRead(<<indirilecek URL>>,<<Gönderme Metodu(get,Post)>>);
Örnek Kullanım;
WebClient wClient = new WebClient();
Stream st = wClient.OpenWrite(“http://localhost/deneme/Default.aspx”,”POST”);//bu sınıfı ileride ele alacağız
Stream st = wClient.OpenWrite(“http://localhost/deneme/Default.aspx”,”POST”);//bu sınıfı ileride ele alacağız
….
6. UploadData()
aspx sayfamıza hem post edip hem de dönen sonucu işlemek için WebClient sınıfının UploadData metodundan faydalanabiliriz. UploadData metodu post edilecek datayı byte dizisi olarak alıp, sonucu yine bize byte dizisi olarak dönmektedir.
WebClient wClient = new WebClient();
byte[] postData = Encoding.ASCII.GetBytes(“csharp”);
byte[] response = wClient.UploadData(“http://localhost/SimpleWebSite/Default.aspx”, “POST”, postData);
MessageBox.Show(Encoding.ASCII.GetString(response));
byte[] postData = Encoding.ASCII.GetBytes(“csharp”);
byte[] response = wClient.UploadData(“http://localhost/SimpleWebSite/Default.aspx”, “POST”, postData);
MessageBox.Show(Encoding.ASCII.GetString(response));
7. UploadFile() ve Authentication
UploadFile metodu belirtilen yere, local dosyamızı upload eder. Authentication için gerekli bilgileri Credentials property ‘sine set edebiliriz.
WebClient wClient = new WebClient();
NetworkCredential oturumbilg = new NetworkCredential(“kulad”, “şifre”);
wClient.Credentials = oturumbilg;
wClient.UploadFile(“http://localhost/SimpleWebSite/a.txt”, “C:\\a.txt”);
NetworkCredential oturumbilg = new NetworkCredential(“kulad”, “şifre”);
wClient.Credentials = oturumbilg;
wClient.UploadFile(“http://localhost/SimpleWebSite/a.txt”, “C:\\a.txt”);
Kaynak;
Hiç yorum yok :
Yorum Gönder