BigBastis Blog

VB.NET/PHP: Kurze URLs erstellen mit Tinyurl Teil 1

Introduction

user

Sebastian Gross

Sebastian Gross arbeitet in Bielefeld als Softwareentwickler für .NET und Java im Bereich Web.Als Fan der .NET-Plattform lässt er sich kein Userguppen Treffen und Community Event im Raum OWL entgehen.Dabei hat er eine besondere Vorliebe für das ASP.NET MVC Framework und für das Test Driven Development (TDD) entwickelt.


LATEST POSTS

Handling too long scrollspy menus 10th June, 2015

Java: Create ZIP archive 23rd March, 2015

.NET

VB.NET/PHP: Kurze URLs erstellen mit Tinyurl Teil 1

Posted on .

Sie sind sehr beliebt und es werden immer mehr! Sogenannte URL-Shorter wie Tinyurl.com,  bit.ly oder wie sie alle heißen.  Diese kleinen Dienste verkürzen beliebig lange URLs in kleine handliche „URLchen“.

Dienste wie Twitter, bei denen es auf die Länge der Beiträge ankommt können ohne diese Dienste nicht mehr leben, weswegen Twitter sogar die Nutzung von bit.ly vorschreibt!

icqsmileyBild 1: Ein ICQ 6 Chatfenster mit einer E-BAy-URL die nun einen Smiley enthält

Aber auch eigene Projekte, egal ob online oder offline können so etwas gut gebrauchen. Denn wenn man zb eine E-Bay URL weiter geben möchte ist diese nicht selten mehrere Zeilen lang und wird, je nach Programm falsch dargestellt. Plötzlich enthalten die URLs Smileys die durch Kombinationen wie „=p“ oder „8)“ in der URL entstehen!

Das ist sehr unangenehm, da der Link dann auch nicht mehr angeklickt werden kann und man den Fehler erst wieder ausbügeln muss. Da erspart so ein Dienst natürlich viel Zeit!

Gut für uns, dass viele der Anbieter auch eine API für ihren Dienst anbieten. So können auch wir Gebrauch davon machen und Vorgänge automatisieren.

Wenn man bei Google nach „tinyurl API“ sucht wird man sehr schnell fündig und erfährt, dass man einfach nur die URL „‚http://tinyurl.com/api-create.php?url=“ aufrufen muss und dann seine zulange URL dahinter packen kann.

Als Ergebnis kommt dann eine gekürzte Version raus!

Wie setzen wir das nun im Code um? Wir müssen ersteinmal auf die Internetseite zugreifen, und das Ergebnis herunterladen!

Das wars auch schon! Hier ist unsere Funktion:

    Public Function shortURL(ByVal langeURL As String)
        Dim retVal As String = ""

        'Den API-Aufruf starten:
        Dim myRequest As WebRequest = WebRequest.Create _
            ("http://tinyurl.com/api-create.php?url=" & langeURL)

        Dim myResponse As WebResponse = myRequest.GetResponse

        'Den erzeugen Strom auslesen
        Dim myReader As StreamReader = _
                New StreamReader(myResponse.GetResponseStream)

        'Stream auslesen
        retVal = myReader.ReadToEnd

        myReader.Close()

        Return retVal
    End Function

Wie man sieht wird nichts anderes gemacht, als oben beschrieben!

Naja, man muss dazu sagen, dass tinyurl.com der wohl „einfachste“ Anbieter ist, da dieser einfach nur die „nackte“ URL zurück gibt. Deswegen habe ich das hier auch als Beispiel gewählt!

Noch einfacher lässt sich das Ganze in PHP ausdrücken:

//PHP Code:
function TinyURL($u){
    return file_get_contents('http://tinyurl.com/api-create.php?url='.$u);
}

So kann man sehr angenehm seine langen URLs kürzen und seine Besucher erfreuen

Ich habe hierzu ein kleines Beispiel in VB.NET angefertigt, das ihr bei Interesse herunterladen könnt!

urldemoBild 2: Das Demoprogramm in Aktion

Download Hier: Download

Wenn bei euch Interesse besteht stelle ich euch auch die anderen Anbieter wie zB. bit.ly vor und fertige ein Beispiel zu deren API an. Gebt einfach per Mail oder Kommentar bescheid!

profile

Sebastian Gross

http://www.bigbasti.com

Sebastian Gross arbeitet in Bielefeld als Softwareentwickler für .NET und Java im Bereich Web.Als Fan der .NET-Plattform lässt er sich kein Userguppen Treffen und Community Event im Raum OWL entgehen.Dabei hat er eine besondere Vorliebe für das ASP.NET MVC Framework und für das Test Driven Development (TDD) entwickelt.

There are no comments.

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

View Comments (0) ...
Navigation