Nicht sicher, was los ist. Wenn ich den folgenden Code ausführe... läuft es gut... aber es tritt ein Fehler auf. Wenn ich den folgenden Code in die Adressleiste meines Browsers einfüge und ausführe, erhalte ich eine URL. Wenn ich dieselbe URL durch das KRL http:get schicke, erhalte ich eine völlig andere URL.
"http://tinyurl.com/api-create.php?url=http://insideaf.blogspot.com"
wenn ich es selbst im Browser eingeben, bekomme ich: http://tinyurl.com/6j7qucx
wenn ich es durch http:get laufen lasse, bekomme ich: http://tinyurl.com/4fdtnoo
Der Unterschied besteht darin, dass beim zweiten, der durch das KRL http:get ausgeführt wird, die angeforderte Seite aufgerufen wird, aber ein "/&" am Ende der Anfrage hinzugefügt wird. Dies geschieht unabhängig von der Website, auf der ich mich befinde. Wenn ich auf www.google.com bin, gibt es eine tinyurl zurück, die zu www.google.com/& führt, was zu einem Fehler führt. Alle Websites, die ich der http:get-Methode übergebe, werden mit einem & am Ende zurückgegeben. Hier ist mein Code, damit Sie sehen können, dass ich es nicht versehentlich selbst hinzufüge.
myLocation = event:param("location");
url2tiny = "http://tinyurl.com/api-create.php?url="+myLocation;
tinyresponse = http:get(url2tiny);
tinyurl = tinyurl.pick("$.content");
Wenn ich die url2tiny-Konsole.logge, sieht es genau so aus, wie es sollte. Es scheint, dass wenn ich url2tiny an http:get übergebe, automatisch das & am Ende hinzugefügt wird, bevor es von der tinyurl-api angefordert wird.
Irgendwelche Ideen für Workarounds für dieses Problem? Es scheint ein Bug in der http:get-Methode zu sein. Wenn ich mich irre (und ich hoffe, dass ich es bin), bitte weisen Sie mir den richtigen Weg.