PHP解析Yahoo Finance获得505 HTTP错误

用户名
<?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

感谢您的帮助

xdazz

您不应该对整个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);

如何解析xml数据?

您甚至可以将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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章