C# İle Google Url Kısaltma Servisini Kullanalım
Bazı projelerinizde adres kısaltma servislerini kullanma ihtiyacımız olabilir. Adres kısaltma servisi veren birçok web sitesi mevcuttur. Ben Google URL kısaltmak servisi olan “http://goo.gl” ‘yi kullanacağım. Aşağıdaki gibi bir Windows Form tasarladım ve button Click olayına aşağıdaki kodlarımı ekledim.
[csharp]
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://www.googleapis.com/urlshortener/v1/url");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{\"longUrl\":\""+txtLongUrl.Text+"\"}";
streamWriter.Write(json);
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
string line;
//Servisten gelen sonucu satır satır okuyoruz.
while ((line = streamReader.ReadLine()) != null)
{
//bize sadece kısaltırmış url lazım olduğu için id ile eşleşen bir satır arayıp ihtiyacımız olan
//kısaltırmış URL’yi alıyoruz.
if (line.Contains("id"))
{
txtSortUrl.Text = ClearText(line, ";,\"{ }\\");
}
}
}
[/csharp]
Birde metin temizleme işlemleri için kullanacağım metot’umu yazıyorum.
[csharp]
//Dönen JSON sonucunu ClearText metodumuz ile gerekli olmayan karakterleri temizleme işlemine tabi tutacağız.
string ClearText(string text, string removeText)
{
string value = text;
foreach (char item in removeText)
{
value = value.Replace(item.ToString(), string.Empty);
}
return value.Replace("id:", string.Empty).Trim();
}
[/csharp]
Kodlar açık olduğu için çok fazla detaya inmedim. Kodları biraz daha geliştirerek Google altyapısını kullanarak kendi URL kısaltma projelerinizi geliştirebilirsiniz. Takıldığınız bir konu olursa yorum panelinden sorabilirsiniz.
Yararlı Olması dileğiyle..
Benim için çok faydalı oldu çok uğraşmıştım ben meğer bu kadar basit ve kolaymış. teşekkür ederim Mesut bey.
Faydalı bilgi için teşekkürler. Listeme ekledim.
rica ederim. yararlı olmasına sevindim.