在下面找我代码帮助我
<?php
$result=file_get_contents('http://finance.google.com/finance/info?client=ig&q=DHAMPURSUG');
$res=json_decode(result);
print_r($res);
?>
答案 0 :(得分:2)
尝试使用基本的cURL Post。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://finance.google.com/finance/info?client=ig&q=DHAMPURSUG");
curl_setopt($ch, CURLOPT_POST, 1);
// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);
var_dump($server_output);
答案 1 :(得分:0)
在您的服务器上,allow_url_fopen
可能设置为false,这会阻止file_get_contents()
提取网址(请参阅the manual)。
要弄清楚是否是这种情况,请运行:
var_dump(ini_get('allow_url_fopen'))
如果您的生产服务器上输出了0
或false
,那么您就已经找到了问题所在。 2个可能的修复:
编辑INI文件
一种解决方法是更改php.ini
文件,将此设置设置为1
或On
。要查找管理脚本的ini文件,请执行:
echo php_ini_loaded_file();
转到编辑该文件,然后重新启动Web服务器。
改用cURL
另一种方法是使用cURL连接到谷歌并获取您需要的信息:
$options = [
CURLOPT_URL => 'http://finance.google.com...?client=ig&q=DHAMPURSUG',
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => true,
];
$ch = curl_init();
curl_setopt_array($ch,$options);
$result = curl_exec($ch);
curl_close($ch);
if($result===false) die(curl_errno($ch));
$result
现在持有回复。
<强>附录强>
另一种可能性(感谢Hanky Panky)是您的生产服务器上没有json_decode
功能。要对此进行测试,请运行以下行以查看是否打印true
var_dump(function_exists('json_decode'));
答案 2 :(得分:-1)
您可以在根目录中上传htaccess文件。