Turkcell | Geleceği Yazanlar

Soru & Cevap

WindowsPhone ile Webrequest kullanımı

18.01.2014 - 10:34

Merhaba, yazdığım bir program ile bir web sitesine bağlanıp metin çekmek istiyorum örnek olarak :

http://api.piyasa.com/json/?kaynak=akaryakit_guncel_poas_Ankara

sorgusunu çalıştırıp geri dönen 

[{"fuel":"K95","price":"4.960","change":"0.000"},{"fuel":"K97","price":"5.070","change":"0.000"},{"fuel":"KSU","price":"4.960","change":"0.000"},{"fuel":"MO1","price":"4.670","change":"0.000"},{"fuel":"MO2","price":"4.570","change":"0.000"},{"fuel":"GAZ","price":"3.740","change":"0.000"}]

değerini bir string değişkenine atamak istiyorum. en kolay yolu nasıl olmalı.

teşekkür ederim

not : json parsing işini halletim ama sorguyu yapamadım.

3777 Görüntülenme

3 Cevap

Ercan BAKAÇ
19.01.2014 - 11:49

Hocam merhaba, internetteki kaynaklardan şu şekilde bir çözüm buldum,

 

           string json;

            var request = (HttpWebRequest)WebRequest.Create(
                new Uri("http://api.piyasa.com/json/?kaynak=akaryakit_guncel_" + akaryakit + "_" + iller));
            request.BeginGetResponse(r =>
            {
                var httpRequest = (HttpWebRequest)r.AsyncState;
                var httpResponse = (HttpWebResponse)httpRequest.EndGetResponse(r);

                using (var reader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    var response = reader.ReadToEnd();

                    Deployment.Current.Dispatcher.BeginInvoke(new Action(() =>
                    {
                        json = response;
                    }));
                }
            }, request);

 

istediğim cevabı bana döndürüyor fakat her zaman en kısa kodu yazmayı tercih ederim. sizin cevabınızı da deneyeceğim, teşekkür ederim

 

 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Mehmet Altıparmak
19.01.2014 - 11:00

[code]HttpClient httpClient = new HttpClient(); string responseBodyAsText = await httpClient.GetStringAsync(“www.contoso.com”);[/code]

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Mehmet Altıparmak
19.01.2014 - 10:58

Merhaba Ercan, 

Microsoft HTTP Client Libraries kullanmanı tavsiye ederim. Nuget üzerinden projene ekleyebilirsin. Nuget package manager üzerinden http kelimesi ile arattığında genelde en üstte çıkıyor. Daha önce nuget kullanmışmıydın? 

Eklediğim kütüphane içerisinde HttpClient isimli bir sınıf var. O sınıfı kullanarak aşağıdaki gibi bir web uygulamasının döndüğü cevabı alabilirsin. 

[code]

HttpClient httpClient = new HttpClient(); string responseBodyAsText = await httpClient.GetStringAsync(“http://api.piyasa.com/json/?kaynak=akaryakit_guncel_poas_Ankara”);

[/code] 

 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.