今日、まさにこの問題でcronjobエラーが発生し始めました。そこで、高速で信頼性の高い iGoogle に切り替える前に使用していた以前の URL に戻りました。
プログラムでヒットする URL (USD から EUR):
http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=USD&ToCurrency=EUR
詳細:
http://www.webservicex.net/ws/WSDetails.aspx?CATID=2&WSID=10
今のところ動作しますが、時々遅くなる傾向があり、以前はランダムに「容量不足」エラーで応答していました。それを処理する方法でコードを作成してください。また、cron を 1 日に 1 回ではなく 4 回実行するようにしてください。私は毎時間私たちのものを実行します。
リターンからレートを取得するコード例 (おそらくもっと洗練された方法があります):
$ci = curl_init($accessurl);
curl_setopt($ci, CURLOPT_HTTPGET, 1);
curl_setopt($ci, CURLOPT_RETURNTRANSFER, 1);
$rawreturn = curl_exec($ci);
curl_close($ci);
$rate = trim(preg_replace("/.*<double[^>]*>([^<]*)<\/double[^>]*>.*/i","$1",$rawreturn));