我尝试从同一台服务器上的piwik安装中获取curl数据。我得到这个错误。
无法连接到example.com端口80:拒绝连接
这是我的卷发的样子:
$url = 'http://example.com/index.php?module=API&method=VisitsSummary.getVisits&idSite=1&
nb_uniq_visitors&period=month&date=today&token_auth=blabla';
$ch = curl_init();
$timeout = 30; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
print_r (curl_error($ch));
curl_close($ch);
// display file
print_r ($file_contents);
有人知道如何解决这个问题吗? 我关掉了iptables。
答案 0 :(得分:0)
1。检查您的allow_url_fopen
是否已启用:
echo ini_get('allow_url_fopen');
ini_set('allow_url_fopen', 1);
2。如果你有对服务器的shell访问权限,请使用本地命令(wget,w3m,lynx,curl命令,telnet,...)打开URL:
wget http://www.example.com
telnet www.example.com 80
3. 尝试打开与其他PHP函数的连接:
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
4。用其IP替换主机名:
$url = 'http://210.220.112.2/index.php?module=API&method=VisitsSummary.getVisits&idSite=1&
nb_uniq_visitors&period=month&date=today&token_auth=blabla';
答案 1 :(得分:-1)
尝试添加:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);