curl を使用して現在の株価の値を取得しています。20 分ごとに株価を更新するいくつかの cron ジョブを作成しました。昨日は正常に動作していましたが、今日から突然nullオブジェクトが返され、値の取得にcurlを使用しています。
コードは次のとおりです。
$sourceURL = 'http://www.google.com/finance/info?infotype=infoquoteall&q='.$row[1].':'.$main_id;
echo $sourceURL."<br/>";
$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, $sourceURL);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$sourceData = curl_exec($ch);
curl_close($ch);
$json = str_replace("\n", "", $sourceData);
//Remove //, [ and ] to build qualified string
$data = substr($json, 4, strlen($json) -5);
// JSON データをデコードする
$json_output = json_decode(utf8_decode($data));
var_dump($json_output);
//Output Stock price //update_in_DB は下のようなクエリ文字列を返します
$query=update_in_DB($json_output,$main_id);
$result_query=mysqli_query($dbc,$query);
if($result_query===false)
{
echo mysqli_error($dbc)."<br/>";
}
echo "done<br/>";`
これは私が言ったように正常に機能していましたが、今 update_in_DB はこれを返します:
UPDATE `stock_table`
SET `stock_curr_val`=0, `stock_change`=0, `stock_change_p`=0, stock_open_val`=0, `stock_hi_val`=0, `stock_low_val`=0, `stock_volume`='0', stock_hi_52`=0, stock_low_52`=0, `stock_market_cap`='0'
WHERE `stock_symbol`='20MICRONS';
ご協力いただきありがとうございます。