読者です 読者をやめる 読者になる 読者になる

tumblr

tumblr(タンブラー)は、メディアミックスブログサービス。ブログとミニブログ、そしてソーシャルブックマークを統合したマイクロブログサービスである。アメリカのDavidville.inc(現: Tumblr, Inc.)により2007年3月1日にサービスが開始された。

PHPで短縮URLを展開する

PHP

http://d.hatena.ne.jp/mzp/20090508/bitly

こっちでruby版が書かれていたのでphpで覚書。


自分で短縮URLを展開するのはもの凄く面倒。大体どこもAPIを用意してくれてはいるが、正直API叩くのも面倒。
で、そういう時に上のリンクで紹介されてるようにすればもの凄く楽に展開後のURLが取得できる。

実際にURLにアクセスして、Locationヘッダを見てる。すげーな、これ。これなら、大抵の短縮URLサービスが展開できるじゃないか。
http://d.hatena.ne.jp/mzp/20090508/bitly


種明かしするとそういうわけで、実際にAPIどころか短縮URL自体を叩けば良いというわけ。
それをphpのHTTP_Clientを使ってやってみた。

<?php
require_once("HTTP/Client.php");

function detect_url($url){
  $client = new HTTP_Client();
  $res = $client->head($url);

  $response = $client->currentResponse();
  return $response['url'];
}


$client->head()が自分的にポイント。HTTPのGETだとメッセージボディまで返ってきて邪魔なので、HEADメソッドを使う。初めてHTTPのHEADメソッドを使った。