[solved] goo.gl Url-Expander

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Johnny R
Posts: 237
Joined: 03 Oct 2013, 02:07

[solved] goo.gl Url-Expander

15 Sep 2015, 15:06

Ich war kürzlich genötigt, mich mit dem Goo.gl - Url Shortener auseinanderzusetzen, vgl. http://goo.gl/dk7x8u.
Bei dieser Gelegenheit wollte ich ein wenig experimentieren und auch das Gegenteil skripten, also aus einer kurzen (geshorteten) Url eine lange Url entwickeln. Wie das grundsätzlich gehen soll, steht hier bei Google Developers. Wie nicht anders zu erwarten, bin ich natürlich wieder einmal kläglich gescheitert. :(

Weiss jemand, wie man die Anweisungen der Google Developers zum Thema "Expand a short URL" nach AHK übersetzen kann und wie man die Anweisungen in die Form eines AHK-Skripts bringen kann?

Ich bekomme immer Fehlermeldungen wie z. B. das hier:

Code: Select all

---------------------------
ver.ahk
---------------------------
<!DOCTYPE html>
<html lang=en>
  <meta charset=utf-8>
  <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
  <title>Error 400 (Bad Request)!!1</title>
  <style>
    *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/logos/errorpage/error_logo-150x54.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/logos/errorpage/error_logo-150x54-2x.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/logos/errorpage/error_logo-150x54-2x.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/logos/errorpage/error_logo-150x54-2x.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
  </style>
  <a href=//www.google.com/><span id=logo aria-label=Google></span></a>
  <p><b>400.</b> <ins>That’s an error.</ins>
  <p>Your client has issued a malformed or illegal request.  <ins>That’s all we know.</ins>

---------------------------
OK   
---------------------------
Last edited by Johnny R on 17 Sep 2015, 16:19, edited 1 time in total.
Johnny R
Posts: 237
Joined: 03 Oct 2013, 02:07

Re: goo.gl Url-Expander

17 Sep 2015, 16:19

Ich habe es selbst hingekriegt:

Code: Select all

; Entwickelt aus einer geshorteten (kurzen) Url eine lange Url
; SYNTAX: Googl_Long("https://goo.gl/xwCNC")
Googl_Long(URL)
{
   static ApiKey := "xxxxxxxxxxxxxxxxxxxxxxxxxxxx" ; von Google persönlich bezogener Key
   Googl := ComObjCreate("WinHttp.WinHttpRequest.5.1")
   Googl.Open("GET", "https://www.googleapis.com/urlshortener/v1/url?key=" ApiKey "&shortUrl=" URL)
   Googl.send()
   Zwi := Googl.ResponseText
   Return RegExReplace(Zwi,"s).*""longUrl"": ""(.*?)"".*","$1")
}
tmplinshi
Posts: 1293
Joined: 01 Oct 2013, 14:57

Re: [solved] goo.gl Url-Expander

18 Sep 2015, 03:29

There's another way without needed Google api.

Code: Select all

req := ComObjCreate("WinHttp.WinHttpRequest.5.1")
req.Open("HEAD", "https://goo.gl/xwCNC")
req.Option(6) := False ; Disable auto redirect
req.Send()
MsgBox, % req.GetResponseHeader("Location")
; MsgBox, % req.getAllResponseHeaders()
Johnny R
Posts: 237
Joined: 03 Oct 2013, 02:07

Re: [solved] goo.gl Url-Expander

18 Sep 2015, 05:03

@tmplinshi, thank you very much! Your script is as good as mine and needs no Google-Api. Very nice!

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 12 guests