<?php
$feedURL = 'http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("EURUSD","GBPUSD")&env=store://datatables.org/alltableswithkeys';
$feedDATA = file_get_contents(urlencode($feedURL));
print_r($feedDATA);
?>
我试图解析Yahoo Finance的外汇价格供稿,但出现此错误
HTTP/1.0 505 HTTP Version Not Supported in /home/site1/public_html/forex/getprice.php on line 12
如何解决此问题并解析XML中的EUR / USD和GBP / USD的XML 1.6551
感谢您的帮助
您不应该对整个url进行编码,仅需要对参数进行url编码。
PHP具有出色的http_build_query函数,可帮助您构建查询字符串。
代码:
$feedURL = 'http://query.yahooapis.com/v1/public/yql';
$params = array(
'q' => 'select * from yahoo.finance.xchange where pair in ("EURUSD","GBPUSD")',
'env' => 'store://datatables.org/alltableswithkeys'
);
$feedDATA = file_get_contents($feedURL.'?'.http_build_query($params));
print_r($feedDATA);
您甚至可以将url传递给SimpleXMLElement
的构造函数。
$xml = new SimpleXMLElement($feedURL.'?'.http_build_query($params), null, true);
foreach ($xml->results->rate as $rate) {
echo $rate->Name . PHP_EOL;
echo $rate->Rate . PHP_EOL;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句