.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
 
Sign In
Register
 
Win Surprise Gifts!!!
Congratulations!!!


Top 5 Contributors of the Month
david stephan

Home >> Articles >> ASP.NET >> Post New Resource Bookmark and Share   

 Subscribe to Articles

Consuming URL Shortening Services - is.gd

Posted By:Mohammad Elsheimy       Posted Date: September 13, 2010    Points: 25    Category: ASP.NET    URL: http://www.dotnetspark.com  

Another article of our series that talks about accessing URL shortening services programmatically. This article is talking about is.gd shortening service, how you can use it, and how to access it via your C#/VB.NET application.
 

Overview

Another article of our series that talks about accessing URL shortening services programmatically.

This article is talking about is.gd shortening service, how you can use it, and how to access it via your C#/VB.NET application.

Introduction



Is.gd
is one of the most popular shortening services ever in the web because of its simple interface and its easy-to-use API.

When you visit service website, http://is.gd, you can see that nothing easier from is.gd, just push your long URL into the text box and click the shortening button.

API


is.gd provides you a very simple easy-to-use API. This API contains only one function that's used for shortening URLs. Another good thing is that this function doesn't require any kind of authentication for users. Therefore, you need just to spam it with your long URL (as you did with the website.)

This glorious function is called http://is.gd/api.php, it accepts only a single argument, longurl, which can be set to the long URL you need to shorten. When you call the function, it simply returns the shortened URL as plain text (no more overhead.)

Now, let's try this function. We'll try to shorten the URL http://JustLikeAMagic.com with our function. First, connect the arguments, http://is.gd/api.php?longurl=http://JustLikeAMagic.com. Now copy this address and paste it into your favorite browser. If everything was OK, you should see the short URL after clicking in the browser toolbar.

Now, let's do it in C# and VB.NET. Check the following function that tries to shorten long URLs via the id.gd API:

C#
 
 string Shorten(string url)
        {
            url = Uri.EscapeUriString(url);
            string reqUri = String.Format(@"http://is.gd/api.php?longurl={0}", url);

            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(reqUri);
            req.Timeout = 5000;

            try
            {
                using (System.IO.StreamReader reader =
                    new System.IO.StreamReader(req.GetResponse().GetResponseStream()))
                {
                    return reader.ReadLine();
                }
            }            
            catch (WebException ex)
            {
                return ex.Message;
            }
        }

VB.NET
Function Shorten(ByVal url As String) As String

        url = Uri.EscapeUriString(url)
        Dim reqUri As String = _
            String.Format("http://is.gd/api.php?longurl={0}", url)
        Dim req As WebRequest = WebRequest.Create(reqUri)
        req.Timeout = 5000

        Try
            Dim reader As System.IO.StreamReader = _
                New System.IO.StreamReader(req.GetResponse().GetResponseStream())
 
            Dim retValue As String = reader.ReadLine()
            reader.Dispose()

            Return retValue
        Catch ex As WebException
            Return ex.Message
        End Try

    End Function


Notice that we have used the function System.Net.Uri.EscapeUriString() to eliminate unacceptable characters from the URL by encoding them.

Notice too that we have included our code in a Try-Catch block so we can catch exceptions before they blow up our application.

What's next


Consider reading other articles in this series here.

 Subscribe to Articles

     

Further Readings:

Responses

No response found. Be the first to respond this post

Post Comment

You must Sign In To post reply
Find More Articles on C#, ASP.Net, Vb.Net, SQL Server and more Here

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend