curl_init已启用但无法正常工作

时间:2016-01-29 12:04:13

标签: php curl init

我正在尝试使用curl_init打开一个网址,但没有成功获得正确的响应。由于安全原因,我无法与所有人分享确切的网址。

以下是我的代码

$ch = curl_init("Site URL"); 
print_r($ch);
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_POST, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$response = curl_exec($ch); 

echo "Below is Responce <br/>";
echo $response;
print_r($response); 

以下是输出

Resource id #2Below is Responce 

即使我使用了error_reporting(1)并且在我的webhosting php设置中启用了报告错误,输出也没有抛出任何错误

我还检查了错误日志,但没有。 能帮我找到原因吗? 上面的代码是从不同的服务器工作,但不是从我的实际生产服务器。 请指导我找到原因。

2 个答案:

答案 0 :(得分:2)

这是一个有效的代码:

<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://xyz.curlinittest.php");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
    $data = curl_exec($ch);
    echo $data;
    curl_close($ch);
?>

输出:Hello World

您的第三方服务器拒绝基于用户代理的查询。 设置curl就像是一个firefox和.. tadaaa

答案 1 :(得分:0)

所以我的代码是正确的,所以不需要提供相同的解决方案。实际上我和托管服务提供商一起提出了TKT。根据与托管服务提供商的沟通,他们确认由于端口80的阻塞而导致服务器问题。我希望这将有助于其他人。因此,如果您的Curl_init不起作用,端口阻塞也是一个问题。