örnek site :Hal Fiyatları
Bu sayfa hangi işlemi yaparsanız yapın, method="post" kullanıldığından adres çubuğundaki adres değişmiyor doğal olarak.
Amacım adres çubuğuna htttp://application2.ibb.gov.tr/NewIBBUserControls/HalFiyatlari.aspx?id_no=blabla yazarak Meyve-Sebze Fiyatlarını elde etmek.
Bunu niçin istiyorum; Msxml2.XMLHTTP eklentisi ile ilgili sayfadan günlük meyve-sebze fiyatlarını elde etmek.
aspx?tur_id=meyve-sebze tarzında bi elde edebilsem sayfayı, ordaki verileri sayfama entegre edebileceğim.
Yardımlarınızı bekliyorum
post edilen sayfadan değer çekmek
2
●1.559
- 18-04-2008, 20:02:23Hala çözüm bulamadıysan direk kodu vermeyeyim ama bir yol göstereyim.
Öncelikle sayfaya gönderilen form değerlerinin isimlerine bak,
Projene System.IO, System.Net Namespace lerini dahil et.
Örnek bir uygulamayı 2.0 için aşağıda kodladım Nerede kullanacağını bilmediğim için class tipinde değil direk kod olarak veriyorum. Kullanacağın siteyi pek incelemedim, içerik asp.net in doğası olarak sunucu taraflı session state veya istemci taraflı cookie ler ile korunuyor olabilir. Bu durumlarda öncelikle sayfanın header bilgilerini WebHeaderCollection ile al ve webResponse ye ekle. Bu arada unutmadan Msxml2.XMLHTTP gibi .net framework ile uzaktan yakından alakası olmayan asp den devreden bileşenleri net ortamında kullanma, ciddi performans sorunları yaratır. Çünkü bunlar ilk çalışma (derleme-compiler) esnasında Msil e çevrilmezler.
{ object Durum = "0"; object Icerik; //Post edilecek adres object SiteUrl = "http://siteadresi.com/form.aspx"; //Post degerleri object FormDegerleri = "adi=mehmet&soyadi=mehmet"; // Sayfada deger alinacak ilk string object BaslanacakString = "<strong>"; // Sayfada deger aliminin sonlandirilacagi string object BitirilecekString = "<strong>"; // Sayfaya Post ediyoruz WebRequest webRequest = webRequest.Create(SiteUrl); webRequest.ContentType = "application/x-www-form-urlencoded"; webRequest.Method = "POST"; byte[] bytes = Encoding.ASCII.GetBytes(FormDegerleri); Stream os = null; try { webRequest.ContentLength = bytes.Length; os = webRequest.GetRequestStream(); os.Write(bytes, 0, bytes.Length); } catch (WebException ex) { Durum = "0"; } finally { if (os != null) { os.Close(); } } // Sayfaya Post ediyoruz Son // Gelen bilgiyi degerlendiriyoruz try { WebResponse webResponse = webRequest.GetResponse(); if (webResponse == null) { Durum = "0"; } StreamReader sr = new StreamReader(webResponse.GetResponseStream()); object Gecici = sr.ReadToEnd().Trim(); object Baslangic = Strings.InStr(1, Strings.LCase(Gecici), BaslanacakString, 1) + Strings.Len(BaslanacakString); object Genislik = Strings.InStr(Baslangic, Gecici, BitirilecekString, 1) - Baslangic; try { Icerik = Strings.Mid(Gecici, Baslangic, Genislik); } catch { Durum = "0"; } } catch (WebException ex) { Durum = "0"; } // Gelen bilgiyi degerlendiriyoruz Son // Icerigi yaziyoruz if (Durum != "0") { Response.Write(Icerik); } else { Response.Write("hata olustu"); } // Icerigi yaziyoruz Son }Fazla derine inmemek için hata kodlarını almadım dilersen Try Catch içerisinde ex.Message ile hata kodlarınıda alabilirsin.
Umarım yardımcı olmuşumdur - 29-04-2008, 03:02:19Kimlik doğrulama veya yönetimden onay bekliyor.Selam Arkadasım Yazmıs Oldugundan Bişi Anlamadım Ama Adres cubugundaki veriyi cekmekten bahsediyorsun anladıgım kadarıyla aspx te adres cubugundan verileri cekmek için Şu Kodu Kullanabilirsin
---------
Dim Degisken = Request.QueryString("id_no")
Gibi Umarım Faydalı Olmustur