• 08-04-2008, 12:59:12
    #1
    ö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
  • 18-04-2008, 20:02:23
    #2
    Hala çö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:19
    #3
    Kimlik 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