我正在尝试使用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设置中启用了报告错误,输出也没有抛出任何错误
我还检查了错误日志,但没有。 能帮我找到原因吗? 上面的代码是从不同的服务器工作,但不是从我的实际生产服务器。 请指导我找到原因。
答案 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不起作用,端口阻塞也是一个问题。