更新:问题现在解决了。问题是由于我大学的代理服务器引起的。由于他们,我无法从yahoo api获取数据到我的localhost。但是当我在服务器上传网站时,一切正常。
我正试图从雅虎财务API获得股票价格,但当我输入股票代码时,会出现以下警告。请看一下这段代码并指出我的错误。谢谢!
警告页面的图像为Here
我的代码是
$symbol=$_POST['symbol'];
$url="http://download.finance.yahoo.com/d/quotes.csv?s=".trim($symbol)."&f=nsl1op&e=.csv";
$handle=fopen($url, "r");
if (!$handle) {
$error = 'Not a valid URL.';
return false;
}
$result=array();
while ($row = fgetcsv($handle)){
if (isset($row[1])) {
array_push($result, array('company'=>$handle[0],'symbol'=>$handle[1],'last_trade'=>$handle[2], 'open'=>$handle['3'],'close'=>$handle['4']));
}
}
fclose($handle);
$quote_data=$result;
if(!$quote_data){
echo "<div class='alert alert-danger'>invaild symbol</div>";
render("master",array('title'=>'FSE', 'view'=>'quote')); //will show the form again to enter symbol
exit();
}
$title='Quotes for'.htmlspecialchars($quote_data['symbol']);
render("master",array('view'=>'quote', 'title'=>$title, 'data'=>$quote_data)); //will show the page showing prices & symbols of company
答案 0 :(得分:0)
你编写了一个特殊的字符,你不应该编码它
http://download.finance.yahoo.com/d/quotes.csv?s=goog&&f=nsl1op&e=.csv
char&amp;用于分隔URL中的参数不应该用HTML编码 - &gt; &amp; amp;
让我知道是否有人帮助