Ana Sayfa > C#, İnternet, Programlama > C# ile Google Url Kısaltma Servisini Kullanmak

C# ile Google Url Kısaltma Servisini Kullanmak

29 Aralık 2009

Adres kısaltma servisleri ile uzun internet linklerini kısaltmak mümkündür. İnternette birçok adres kısaltma servisi şu anda hizmet vermektedir. Birkaç tanesine örnek olarak;

Facebook adres kısaltma servisleri listesine http://fb.me ile katıldı.

Tabii Google’da boş durmadı ve hemen kolları sıvayarak adres kısaltma servisi http://goo.gl duyurdu.

Bu yazımda, C# ile bu servisi nasıl kullanabileceğimizi anlatacağım.

Öncelikle ekranımızı aşağıdaki resimdeki gibi tasarlayalım;

Uygulamanın anahtar parçası, Kısalt butonunun Click olayında gerçekleşiyor. Google Url Shortener servisini kullanmak için http://ggl-shortener.appspot.com adresine url parametresi ile kısaltılmak istenen adres geçilmeli.

Biz bunu şöyle gerçekleştireceğiz;

WebRequest wr = WebRequest.Create(string.Format("http://ggl-shortener.appspot.com/?url={0}", txtAdres.Text));
WebResponse ws = wr.GetResponse();
StreamReader sr = new StreamReader(ws.GetResponseStream(), Encoding.UTF8);
string response = sr.ReadToEnd();
sr.Close();
ws.Close();

Dönen JSON sonucu, çok kısa ve basit olduğu için basit bir Temizle fonksiyonuna sokacağız,

private string Temizle(string Metin, string Temizlenecek)
{
string oReturn = Metin;

foreach (char c in Temizlenecek)
	oReturn = oReturn.Replace(c.ToString(), string.Empty);

return oReturn.Replace("short_url:", "").Trim();
}

Böylece, Kısalt butonunun Click olayına şu satırları da ekleyebiliriz;

lblAdres.Text = txtAdres.Text;
lblKisaAdres.Text = Temizle(response, "{ }\\,;\"");

Artık tek yapmamız gereken, uygulamayı çalıştırmak ve bir adres girip, Kısalt butonuna tıklamak;

Uygulamanın kaynak kodlarını buradan indirebilirsiniz.


İlgili diğer başlıklar:



  1. resi
    Şubat 19th, 2010 at 12:34 | #1

    Merhaba hocam çok güzel bir uygulama bu anlatımınız için teşekkürler. Vermiş olduğunuz kaynak kodları ile açtığımda uygulama güzel çalışıyor kendim bir uygulama yazıcaktım burada kaynak kodlarıda orada kullanıcam ama birtürlü çalıştıramadım visual studio 2008 netframework 3.5 olarak windows aplication ile yazıyorum ama yinede olmuyor.

    Sorunun ney olduğunu çözmek için tekrar yeni bir form oluşturdum sizin kodları komple oraya çektim tüm buttonlar labeller dahil yine de çalışmadı sorun vermedi ama linkleride kısaltmıyor yardımcı olurmusunuz bu konuda teşekkürler.

  2. Şubat 19th, 2010 at 13:22 | #2

    Hata alıyorsan, aldığın hatayı, hata almıyorsan, yaşadığın sorunu biraz daha detaylandırarak gönderir misin?

  3. resi
    Şubat 19th, 2010 at 13:53 | #3

    Anlayamadım sorunun ney olduğunu hata vermediğinden dolayı tabi

    örnek alttaki linkte birebir geçirmeme rağmen çalışmadı yardımlarınız için teşekkürler
    http://www.hamaratiz.biz/forum2.rar

  4. Şubat 19th, 2010 at 14:22 | #4

    Yazdığın adresten dosyayı indirdim ve projeyi açtmı. Buton’un Click olayına ait kodları yazmamışsın.

    Sadece Temizle() methodunu yazmışsın, tek başına yeterli değil.

    Buton’un Click olayına ait kodlarıda yaz, bir de öyle bakalım.

  5. resi
    Şubat 19th, 2010 at 21:34 | #5

    Tekrar baktığımda yanlış dosya’yı göndermişim. Göndermek istediğimi tekrar kontrol ettim yeni bir form oluşturduğumda formun ismini örneğin check yapıyorum ve forum check.cs oluyor.

    View code dediğimde

    public partial class check : Form
    {
    public check()

    olarak görünüyor sanırım isimlerinin aynı olmaması gerek.

    public partial class check1 : Form
    {
    public check1()

    Bu şekilde yaptığımda düzeldi. İlginizden Dolayı teşekkür ederim hocam

  6. Mayıs 25th, 2010 at 18:14 | #6

    harika anlatım yapmışsın çok teşekkürler

  7. Ekim 19th, 2010 at 16:53 | #7

    The remote server returned an error: (500) Internal server error

    Böyle bir hatayla karşılaşıyorum ne yapmalıyım :(

  8. chaki
    Mart 16th, 2011 at 20:11 | #8

    vb.net olarak verme şansınız varmı