Introduction
The world is becoming lazier. It gets easier to do certain tasks, and certain previously tedious tasks now get done for us. Technology is great! With new technology comes new solutions, as in the case of today’s topic. Yes, TinyURL has been around a very long time, but you may not have heard about it before, or, you may have been wondering how to shorten your long URLs quickly as TinyURL does. Today, I will show you. It is quite easy and not a lot of work, so let’s get started, shall we?
Practical
Create a new C# or Visual Basic.NET Windows Forms Application and design your form to resemble Figure 1.
Figure 1: Design
Add the ShrinkURL method.
C#
private string ShrinkURL(string strURL) { string URL; URL = "http://tinyurl.com/api-create.php?url=" + strURL.ToLower(); System.Net.HttpWebRequest objWebRequest; System.Net.HttpWebResponse objWebResponse; System.IO.StreamReader srReader; string strHTML; objWebRequest = (System.Net.HttpWebRequest)System.Net .WebRequest.Create(URL); objWebRequest.Method = "GET"; objWebResponse = (System.Net.HttpWebResponse)objWebRequest .GetResponse(); srReader = new System.IO.StreamReader(objWebResponse .GetResponseStream()); strHTML = srReader.ReadToEnd(); srReader.Close(); objWebResponse.Close(); objWebRequest.Abort(); return (strHTML); }
VB.NET
Private Function ShrinkURL(ByVal strURL As String) As String Dim URL As String URL = "http://tinyurl.com/api-create.php?url=" + _ strURL.ToLower Dim objWebRequest As Net.HttpWebRequest Dim objWebResponse As Net.HttpWebResponse Dim srReader As IO.StreamReader Dim strHTML As String objWebRequest = CType(Net.WebRequest.Create(URL), _ Net.HttpWebRequest) objWebRequest.Method = "GET" objWebResponse = CType(objWebRequest.GetResponse(), _ Net.HttpWebResponse) srReader = New IO.StreamReader(objWebResponse _ .GetResponseStream) strHTML = srReader.ReadToEnd srReader.Close() objWebResponse.Close() objWebRequest.Abort() Return (strHTML) End Function
The ShrinkURL function generates a shortened URL with the help of the ‘api-create’ method in its URL. You supply the long URL that was entered in one of the Textboxes; then, you need to create WebRequest objects to obtain the returned shortened URL and a StreamReader object to interpret the URL and return a properly formed string to be returned to the calling method or procedure.
Add the code for the Process and Copy buttons.
C#
private void btnProcess_Click(object sender, EventArgs e) { System.Threading.Thread.Sleep(1000); txtOutput.Text = ShrinkURL(txtURL.Text); txtURL.Text = ""; } private void btnCopy_Click(object sender, EventArgs e) { Clipboard.SetText(txtOutput.Text); }
VB.NET
Private Sub btnProcess_Click(sender As Object, e As EventArgs) _ Handles btnProcess.Click Threading.Thread.Sleep(1000) txtOutput.Text = ShrinkURL(txtURL.Text) txtURL.Text = "" End Sub Private Sub btnCopy_Click(sender As Object, e As EventArgs) _ Handles btnCopy.Click Clipboard.SetText(txtOutput.Text) End Sub
The Process button waits a second, and then adds the shrunken URL to the Output Textbox. The Copy button simply copies the URL to the Clipboard.
Figure 2 shows a long URL that was entered. Figure 3 shows the shortened URL.
Figure 2: Long URL
Figure 3: Short URL
Conclusion
Quick and dirty. I just want to thank everyone for reading my articles. Some articles are quite long, some are short, but I do hope you benefit from them. My aim with these articles is to help you learn funky tricks, or interesting things, or simply learn something new. I know what it is like to struggle and not know what to do and where to go and what to look for. CodeGuru has helped so much! I just hope my ideas and my experience help you as well.