Yahoo Finance CSV API и приложение в PHP - PullRequest
2 голосов
/ 23 декабря 2011

У меня небольшое приложение, получающее данные о запасах из Yahoo! работает нормально на моем локальном сервере. Когда я загрузил его на удаленный сервер, он перестал возвращать данные и отображал ошибку безопасности в FF: «Этот веб-сайт не предоставляет информацию о владельце».

Тогда я понял, что должен подать заявку на идентификатор приложения, который я сделал, но проблема остается:

$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);

Есть идеи, что не так в моем коде? Заранее спасибо

1 Ответ

2 голосов
/ 23 декабря 2011

Ваша ошибка не связана с вашим кодом - Ошибка в 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);
...