fopen () не работает, и появляется предупреждение о том, что целевой компьютер активно отказывается от него?

ОБНОВИТЬ: Проблема решена сейчас. Проблема была вызвана из-за прокси-серверов моего университета. Из-за них я не смог получить данные от Yahoo API для моего локального хоста. Но когда я загружаю сайт на сервер, все работало нормально.


Я пытаюсь получить цену акций из API финансов Yahoo, но при вводе символа акции появляется следующее предупреждение. Пожалуйста, посмотрите на этот код и укажите на мою ошибку. Спасибо!

Изображение страницы предупреждения Вот

Мой код

    $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

Решение

вы закодировали специальный символ, который не следует кодировать

http://download.finance.yahoo.com/d/quotes.csv?s=goog&amp;&f=nsl1op&e=.csv

символ & используемые для разделения параметров в URL не должны кодироваться в HTML -> &amp;

дайте мне знать, если вам помогли

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]