WinInet (Windows Internet Transfer Control) Nedir?

bykzlu-x

Üye
9 Ocak 2008
190
5
Görsel Programlama Dilleri Arasinda En Çok Tutulan ve Kullanimi En Kullanisli Olan Visual Basic’te Internet Uygulamalari Yapmak Hiçte Zor Degil. Sadece Bilinmesi Gereken Bagzi Terimler ve Kullanilis Biçimleri. Simdi Bu Komutlari ve Parametrelerini Görmeden Önce Inet Kontrolünü Taniyalim.
>> Internet Transfer Control (Inet) Nedir, Ne Ise Yarar? Internet Transfer Control Kisaca Inet Kontrolü VB’yi Internet Ile Birlestiren Bir ActiveX Kontrol Elemanidir. Bu Kontrol Ile Web Bölgelerindeki Sayfalar, Dosyalar, Resimler, Komut Icralari (CGI), ayni sekilde FTP bölgelerindeki dosyalar bu kontrol ile transfer edilip Istenirse Web Uzerindeki Uygulamalar Çalistirilabilir. Biz Bu Yazimizda Inet Ile Yapilabilecek Tüm Islemleri Görmeye Çalisacagiz. Gerek Komutlar Olsun Gerek Program Kodlari ve Programlar Ile Inet Kontrolünü Size En Iyi Sekilde Anlatmaya Çalisacagim...
>> Inet Kontrolünün Winsock Kontrolünden Farki Nedir? Winsock Kontrolü Internet Transfer Kontrolündan Daha Gelismis Bir Yapiya Sahiptir ve Inet Ile Yapilabilecek islemlerin Neredeyse tümünü Winsock Ilede Yapabiliriz. Ancak Herseyi Yerli Yerinde Kullanmak Gerek. Bir Web Serverdeki Dosyayi Bilgisayara Yüklemek Için Ufak bir KOD Satiri ile Inet Kontrolü Yardimi ile Basarabiliriz Fakat Winsock Kontrolü ile bir sürü komut + bagzi özel bilgiler Gerekmektedir. Eger HTTP veya FTP gibi Web Üzerinden Dosya Transferi Yada Daha Baska Islemler Yapilacaksa Inet Kontrolü Kullanilmalidir. Ag Üzerinde Çalisilacak, Bilgisayarlar Baglanacak ve Pop Mail Gibi Uygulamalarla Islemler Yapilacaksa Winsock Kontrolü Kullanilmalidir.
Önemli Bir Noktayida Surada Deyineyim Siz Inet Kontrolü Ile Web Üzerinden Bir Islem Yaptirtmak Isteyelim Örnegin CGI Motorunda arattirma yapmak veya bir tanitma formu doldurmak gibi. Siz Inet Kontrolüne Su Web Servere Su CGI Girdisini Gönder Dediginizde Inet Kontrolü O Servere baglanmak isteyecek ve Bilgi Gönderilecektir. Fakat Siz Gönder Dediginizde O anda ISS (Internet Server Saglayiciniz) yanit vermiyor Olabilir. Bu Durumda Inet Kontrolü Durumu Hakimiyetine Alir ve ISS Yanit Verinceye Kadar O Bilgiyi Göndermeyi Dener (Ping) Taki Server Bilgiyi Aldim Diyinceye Kadar. Fakat Söz Konusu Olan Bu Tikanma Winsock Kontrolü ile Dahada Çikmaza Girecektir. Çünkü Winsock Kontrolünde Gönder Butonuna Bastiginizda Oda Inet gibi Bir Ping Gönderir Fakat Bunu Yalniz 1 Kereye Mahsus Yapar. O anda ISS Yanit Veriyorsa Isseminiz Çalisir Fakat Yanit Vermiyor ise Büyük ihtimal ile Isleminiz Gerçeklesmeyecek ve Winsock Hata Verecektir. Bu Örnekle Winsock ve Inet Kontrolünün Arasindaki Farki Daha iyi Anlamis Olduk. Zaten Web Uygulamalarinda Inet Kontrolünün Winsock Kontrollünden Daha Hizli Oldugu Bir Gerçek.
Not: Visual Basic Standart Araç Çubugunda Inet Kontolü Gözükmez Bunun Için Project->Compotents Yolunu Izleyrek Açilan Seçenekler Penceresinden Microsoft Internet Transfer Control Seçenegini Seçmeniz Gerekiyor...



WinInet Nesnesinin Özellikleri
URL: Inet Kontrolünde Baglanilacak Sitenin veya Web Serverin Adresi Bu Özellige Yazilarak Belirlenir.
Örnek:
Inet1.OpenURL = ( http://www.site.com)
Inet1.OpenURL = ( [URL="https://tik.lat/bn2tZ"] http://www.site.com/main.cgi [url]https://tik.lat/fryeP
a Sizin Isim ve Soy Ismizi Gönderir.[/COLOR]
Inet1.Execute
[FONT=Courier New, Courier, mono]“<http://xxx.com>”,”POST”,”isim=Tayfun&Soyisim=Toka” [/FONT]
[FONT=Arial, Helvetica, sans-serif] Execute Komutunu Gelistirerek kullanim alanlarini arttirmaniz sizin elinizde...[/FONT]
[FONT=Arial, Helvetica, sans-serif]GetChunk Komutu: Execute komutu ile islem yapildiginda mesela bir dosya istendiginde bu dosyanin alinmasi GetChunk komutu ile yapilir.[/FONT]
[FONT=Arial, Helvetica, sans-serif]“GetChunk(size,datatype)” Seklinde Iki Parametresi vardir. Size Parametresi Alinacak Verinin Uzunlugunu belirtir. Datatype Parametresi ile Gelen verinin türü belirtilir. 0 ve 1 degerlerinden birisini alabilir. 0 Degeri Gelen verinin String Türünde Alinmak istendigini Belirtir, 1 Degeri ise Gelen verinin Binary Olarak Alinmak istendigini Belirtir. GetChunk Komutu Ancak Inet Kontrolünün StateChenged Olayi Altinda Kullanilir.[/FONT]
[FONT=Arial, Helvetica, sans-serif]Inet Kontrolünün Önemli Komutlari Bunlardan Ibaret. Inet Kontrolünda Olan Sadece Bir Tane Olay vardir oda “StateChanged” Bir Degisme Oldugunda (Veri Gelmesi, Hata vermesi, vs vs) Bu Olay Devreye Girer.
[/FONT]


[/SIZE][/FONT]CGI/ASP Sorgulama


[FONT=Arial, Helvetica, sans-serif]Bir CGI Programina Veri Göndermek[/FONT]

[FONT=Arial, Helvetica, sans-serif]Bir Zamanlar Hazirladigim CGI Programina VB den Nasil Veri Gönderirim Diye Uzun Uzun Arastirmistim. Bunun Için Elimin Altinda hiçbir Kaynak Yoktu. Yabanci Sitelerden ve Kaynak Kodlari Inceleyerek Sorumun Cevabini almistim. Simdi Sizler Bu Konuda Daha sanslisiniz Çünkü Bunlari size Anlatan TÜRKÇE Bir Kaynak var...[/FONT]
[FONT=Arial, Helvetica, sans-serif]Bir HTML Belgesindeki Formun Söyle Oldugunu Düsünelim;[/FONT]
[FONT=Courier New, Courier, mono]<form name=”form1” action=”<http://www.domain.com/cgi-bin/veri_gir.pl>”>
<input type=”text” name=”isim” size = 15>
<input type=”text” name=”soy_isim” size = 25>
<input type=”Password” name=”sifre”>
<input type=”Submit” Value=”Gonder”>
</form>
[/FONT]
[FONT=Arial, Helvetica, sans-serif]Simdi bu HTML Belgesindeki Form Alanina Ziyaretçi Ismini, Soy Ismini ve Sifresini yazacak olsun, Bakalim bu isi VB de nasil yapacagiz.[/FONT]
[FONT=Arial, Helvetica, sans-serif]VB’yi Açin ve Yeni Bir Form Olusturun. Formun Ustune Inet1 Isimli Internet Transfer Kontrolünü, Adi isim olan bir text kutusunu ve ayni sekilde adi soyisim ve sifre olan text kutularini yerlestirin. Command1 Isimli Command Button Koymayi unutmayin...[/FONT]
[FONT=Courier New, Courier, mono]Private Sub[/FONT][FONT=Courier New, Courier, mono] Form_Load()[/FONT]
[FONT=Courier New, Courier, mono]Inet1.Protocol = icHTTP[/FONT]
[FONT=Courier New, Courier, mono]End Sub[/FONT]
[FONT=Courier New, Courier, mono]Private Sub[/FONT][FONT=Courier New, Courier, mono] Command1_Click()
Dim Veri as string
[/FONT]
[FONT=Courier New, Courier, mono]‘Veri Alanlarini Birbirine Ekliyoruz.[/FONT][FONT=Courier New, Courier, mono]
Veri =”http://www.domain.com/veri_gir.pl?" & _
<http://www.domain.com/veri_giris.pl?>isim=”
Veri = veri & isim.text & “&soy_isim=” & _
soyisim.text & “&sifre=” & sifre.text
[/FONT]
[FONT=Courier New, Courier, mono]Inet1.OpenUrl(Cstr(Veri)) ‘Verileri Cgi Programina Gönderiyoruz

[FONT=Courier New, Courier, mono]‘Programin Çalismasi Sirasinda Bir Kitleme Sorunu Yasanmasina Izin Verme
[/FONT]Doevents
[/FONT]
[FONT=Courier New, Courier, mono]End Sub[/FONT]
[FONT=Arial, Helvetica, sans-serif]
Yukaridaki Program Örneginde Görüldügü Gibi Kolayca HTML Form Örnegini VB Formuza Aktarmis olduk. Artik Programlarimizi Kullanici ile Daha Etkilesimli Yapabiliriz.
[/FONT]
[FONT=Arial, Helvetica, sans-serif]Veri Degiskenini Kullanicinin Girdigi Verileri Eklemek Için Kullandik. Programi Kullanan Kisinin Verileri Kendi Girmesi Istenmeyen Durumunlar Olabilir. Bu Gibi Durumlarda Alttaki CODE Satiri gibi bir uygulama yoluna giderek islemi Gerçeklestire bilirsiniz...[/FONT]
[FONT=Arial, Helvetica, sans-serif]
[FONT=Courier New, Courier, mono]Private Sub [/FONT][FONT=Courier New, Courier, mono]Command1_Click()[/FONT]
[/FONT]
[FONT=Courier New, Courier, mono]Inet1.OpenUrl(“http://www.domain.com/veri_gir.pl?" & _
"isim=bykzlu-x=&Sifre=THT”)

Doevents
[/FONT]
[FONT=Courier New, Courier, mono]End Sub[/FONT]
[FONT=Arial, Helvetica, sans-serif]
Önemli Not: HTML Formlarinin çogunda GET ve POST isimli iki Tane Metod Kullanilir. Cgi Programinin Çalismasi Için GET ve POST Yöntemleri Çok Önem Tasir.Yukaridaki Verdigim Örnekte CGI Programinin GET ve POST Yöntem farki gözetmediginden Program Çalisacaktir Fakat Bu ayrimi Gözeten bir Cgi Programina Veri Gönderiyorsaniz Bunu Execute Komutu ile yapmaniz Gerekmektedir. Bu Ayrinti için Gerekli Örnegi Önceki Yazilarimda Bulabilirsiniz...
[/FONT]
[FONT=Arial, Helvetica, sans-serif]Evet Böylelikle Inet Kontrolünle ilgili Yazimin Sonuna Gelmis Olduk. Inet Kotrolünü Bu Kadar Genis Anlatmamin Nedeni Yazimda Her Kullaniciyi (Yeni Baslayan / Ileri Düzey) Göz Önünde Bulundurarak Anlatmis Olmamdir.
Bu Nedenle Inet Kontrolünü Bilen fakat kendini Gelistirmek isteyenler için bir kaynak olacak Inet Konrolünü bilmeyenler Içinde Iyi Bir Baslangiç olacak.
[/FONT]




[FONT=Arial, Helvetica, sans-serif]NOT: ALINTIDIR.[/FONT]
[FONT=Arial, Helvetica, sans-serif]Kolay gelsin herkese...
[/FONT]
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.