2

我有一个从 Yahoo! 检索股票数据的小型应用程序。在我的本地服务器上工作正常。当我将它上传到远程服务器时,它停止返回数据并在 FF 中显示安全错误:“此网站不提供所有权信息。”

然后我意识到我必须申请一个我所做的应用程序 ID,但问题仍然存在:

$appid = urlencode('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--'); // My App ID
...
$cHandle = curl_init();
curl_setopt($cHandle, CURLOPT_URL, 'http://download.finance.yahoo.com/d/quotes.csv?appid='.$appid.'&s='.$symbol.'&f='.$properties.'&e=.csv');
curl_setopt($cHandle, CURLOPT_RETURNTRANSFER, true);
$dataStr = curl_exec($cHandle);
curl_close($cHandle);
echo json_encode($dataStr);

知道我的代码有什么问题吗?提前致谢

4

1 回答 1

2

您的错误与您的代码无关 - Firefox 中的错误与 SSL 证书有关。至于为什么您的代码不起作用 - 在 CURL 周围添加一些错误检查,看看会产生什么:

$appid = urlencode('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--'); // My App ID
...
$cHandle = curl_init();
curl_setopt($cHandle, CURLOPT_URL, 'http://download.finance.yahoo.com/d/quotes.csv?appid='.$appid.'&s='.$symbol.'&f='.$properties.'&e=.csv');
curl_setopt($cHandle, CURLOPT_RETURNTRANSFER, true);
...

if(curl_exec($cHandle) === false)
{
    echo 'Curl error: ' . curl_error($cHandle);
}
else
{
    echo 'Operation completed without any errors';
}

// Close handle
curl_close($ch);
于 2011-12-23T13:21:52.310 回答