分類
好用軟體

Google縮短網址服務已正式開放了

Google的縮短網址服務, 原本只能給 chrome 的 plugin使用, 還有 google maps 的一個 labs 的功能, 不過現在可以直接使用了. (之前還為了這個尚未開放的功能做個小網頁, 請參閱: https://diary.tw/archives/1014)

這樣一來就方便了許多, 而且還有統計資訊及產生 QR-Code 的功能同時提供. 例如本 blog (https://diary.tw/tim )產生的短網址 url 為: http://goo.gl/AIRC , 而 QR-Code 就是 http://goo.gl/AIRC.qr , 實際上使用就會被 redirect 到 http://chart.apis.google.com/chart?cht=qr&chs=150×150&choe=UTF-8&chld=H&chl=http://goo.gl/AIRC , 其實也就是呼叫 google 的 chart api 來動態產生 QR-Code, 很方便.

這個就是直接把原圖秀出來的結果. 這樣一來, goo.gl 的功能就愈來愈多, 統計也有, qr-code 也有, 真是方便又好用的服務!

相關文章:
http://www.freegroup.org/2010/10/goo-gl/
http://www.zdnet.com.tw/news/web/0,2000085679,20147756,00.htm
http://www.soft4fun.net/website-recommand/google-announced-url-shortener-goo-gl.htm

分類
好用軟體

Google縮短網址服務-免安裝Chrome

這是個邊練功邊做出來的小玩意.

之前在 Google 上有個服務是縮短網址的, 名為 goo.gl (http://goo.gl/), 不過, 目前僅能用在像是 google maps 的 labs 服務上, 參閱: http://briian.com/?p=7105 , 或是需要安裝 Google Chrome 套件, 參閱: http://sofree.cc/goo-gl/

現在不用這麼麻煩了, 直接線上使用網頁的方式, 就能直接產生給你, 請連結: http://sample.diary.tw/goo.gl/ 或是 http://goo.gl/danL (先縮了), 就可以將需要縮短的 url 透過這個方式來縮短.

程式實作也很單純, 只是利用了一個 web request 到 goo.gl 的 api 服務, 程式碼如下:

include("HttpClient.class.php");

$u = $_GET["u"];

$client = new HttpClient("goo.gl");
$client->setHandleRedirects(false);
if (!$client->post("/api/[email protected]&url=" . urlencode($u), array("a"=>"1") )) {
    die('An error occurred: '.$client->getError());
}
echo $client->getHeader("Location");

利用了 HttpClient 的 php class, (參閱: http://scripts.incutio.com/httpclient/ ), 並 post 資料到 http://goo.gl/api/[email protected]&url=[url], 取回 Location header 即可.

若有需要直接取用的網友, 可以訪問 http://sample.diary.tw/goo.gl/u.php?u=[url] 就可以取得了. 例如: http://sample.diary.tw/goo.gl/u.php?u=https://diary.tw/tim

免安裝, 免外掛, 直接線上使用 goo.gl 的 google shortener url 縮網址服務
http://sample.diary.tw/goo.gl/

[2010/7/23 13:40]
剛發現, goo.gl 的 api, 可以不用帶前面的 [email protected] 參數, 所以整個就只要如下的 url 即可:

...
if (!$client->post("/api/url?url=" . urlencode($u), array("a"=>"1") )) {
    die('An error occurred: '.$client->getError());
}
...