オープンソースでSnoopyと呼ばれるWebクライアントがあります。
Snoopyのサイトでは、simulates a web browserと紹介されています。
ここでは、Snoopy1.2を使用してHTTP Responseを取得してみます。
同じようなことがPearのHTTP_Requestパッケージでも可能です。
Snoopyの利点は、依存関係がないことかな。HTTP_Requestは、Net_URLとNet_Socketが
必要になります。
それでは、Snoopyを使用してAmazon Web サービスのxmlデータを取得します。
<?php require_once 'Snoopy.class.php'; $awsUrl = 'http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService'; $awsUrl .= '&SubscriptionId=「Amazonで取得したID」'; $awsUrl .= '&Operation=ItemSearch&SearchIndex=Music&Artist=Doobie%20Brothers'; $awsUrl .= '&ResponseGroup=Medium'; $objSnoopy = new Snoopy; $objSnoopy->fetch($awsUrl); $awsBuff = $objSnoopy->results; print $awsBuff; ?>
Snoopyクラスをインスタンス化しfetch関数でリクエストします。
Snoopy内部でヘッダーと本体に分解され本体は、メンバ変数のresultsに格納されます。
ヘッダーは、メンバ変数のheadersに配列で格納されます。
レスポンスコードは、メンバ変数のresponse_codeを参照することで取得できます。
Copyright 1997-2010 BBB All rights reserved.