昔、www.flickr.com は crossdomain.xml で
今は Flickr の API Key を使えば簡単に crossdomain を回避して何でも作れるんですが、世界中の多くの人が写真をアップロードしていく Flickr の新着 RSS はタイムリーに変化していく、アプリケーションの作り手にはかなり面白いリソースであるため、どうしてもこの RSS を使用したい願望から、ソリューションはサーバ側で proxy 処理をすることにしました。

Flickr の新着 RSS 読み込み時の crossdomain 問題回避方法
単純な RSS の読み込みなので reverse proxy の様な Apache レベルの設定ではなく、PHP で proxy 処理を作成。PEAR の HTTP_Request を使用して簡単に実装できました。以下が簡単な実装例の PHP スクリプトサンプルです。
<?phprequire_once('HTTP/Request.php');
define('XML_URL', 'Flickr の新着写真用 RSS Feed の URL');
$cacheOut = md5(microtime());
$req =& new HTTP_Request(XML_URL.'&'.$cacheOut);if(!PEAR::isError($req->sendRequest())) {
header('Content-type: text/xml; charset=UTF-8');
echo $req->getResponseBody();
}?>
これを Flash 側で XML.load で読み込めば、別サーバの RSS も、crossdomain を回避してすんなり xml を読み込めます。また、ここから flash 内で parse した thumbnail は http://static.flickr.com/64/228329290_7e7fb1c681_s.jpg の様に static.flickr.com のサーバ上にあるんですが、これは何故か crossdomain を意識せずに flash 内に読み込まれました。liveHTTPheaders で http の通信を調べてみたんですが、flash 側から static サーバにアクセスした際に crossdomain を見ていないので、この点に関しては謎です。
【使用技術】
PEAR(HTTP_Request)、PHP 5、Flickr の新着 RSS、Flash 8












