bit.ly

  • Hallo!

    Ich habe eine Frage. Und zwar versuche ich mit Autoit ein Programm zu bauen, welches mir von einer URL eine gekürzte URL mithilfe von bit.ly ausgibt.
    Bis jetzt sieht es so aus:

    Code
    $longurl = InputBox("Lange URL","Bitte zu kürzende URL eingeben")
    $login = InputBox("Login","Bitte geben Sie ihren Login ein")
    $apikey = InputBox("API Key eingeben","Bitte API Key eingeben!")
    
    
    $url = "http://api.bit.ly/shorten?version=2.0.1&longUrl=" & $longurl & "&login=" & $login & "&apiKey=" & $apikey


    Könnte mir jemand sagen, wie ich es bewerkstelligen kann, an die gekürzte URL zu kommen? ?(

    Vielen Dank für die Hilfe im Voraus

  • Für den Internet-Explorer:

    Spoiler anzeigen
    [autoit]


    #include <IE.au3>
    #include <String.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $URL = InputBox("URL", "Bitte gib die zu kürzende URL in die untere Box ein!")
    Switch $URL
    Case StringLeft($URL, 4) <> "www."
    $URL = "www." & $URL
    Case Else
    MsgBox(0+16+0+0+262144, "Error", "Ein Fehler ist aufgetreten!" & @CRLF & "Ungültige URL angegeben o.ä.!" & @CRLF & "Programm wird beendet!")
    Exit
    EndSwitch
    $oIE = _IECreate("http://bit.ly/?s=&keyword=&url=" & $URL, 1, 0, 1, 0)
    $Source = _IEDocReadHTML($oIE)
    $shortURL = _StringBetween($Source, '"shortCNAMEUrl": "', '",')
    If @error Then Exit
    MsgBox(0, "ShortURL", "ShortURL: " & $shortURL[0])

    [/autoit]

    EDIT: Das "www." Problem beseitigt.
    EDIT2: Fehleranzeige und Unterscheidungen zwischen URL eingefügt

    • Offizieller Beitrag

    Hallo

    Jay! Einzeiler FTW (etwas schneller Version, ohne IE):

    [autoit]

    #include <Inet.au3>
    $aRegEx = StringRegExp(BinaryToString(InetRead("http://bit.ly/?url="&StringReplace(StringReplace(StringReplace(StringReplace(_INetExplorerCapable(InputBox("URL","Url eingeben",ClipGet())),"?","%3F"),"&","%26"),"=","%3D"),"#","%23"))),'"shortCNAMEUrl": "(.*?)",',3)
    If Not @error Then InputBox("URL","Die bit.ly url lautet:",$aRegEx[0],"",10,120)

    [/autoit]

    Gruß Spider