在localhost上拒绝PHP cURL连接

时间:2017-03-03 10:01:03

标签: php curl localhost

我试图用PHP执行cURL请求到我的localhost,但是我收到以下错误:

  

cURL错误(7):无法连接到localhost端口8000:拒绝连接

我已经尝试过谷歌此消息,并在StackOverflow上也发现了类似的问题,但似乎没有任何效果。

curl.php:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "localhost:8000/test.php");
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'cURL error (' . curl_errno($ch) . '): ' . curl_error($ch);
} else {
    echo $response;
}

curl_close($ch);

test.php的:

echo json_encode(array(
    "message" => "Hello World!"
));

如果我删除" CURLOPT_IPRESOLVE "价值,请求永远不会解决。我也试过设置" CURLOPT_SSL_VERIFYPEER "和" CURLOPT_SSL_VERIFYHOST "为假。仍然没有工作。

但是如果我在浏览器中导航到localhost:8000 / test.php,我会得到正确的响应。我也可以使用" curl localhost:8000 / test.php "命令并收到正确的响应

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您像Rahul Prajapati在评论中写给您一样,在请求开头缺少http://

查看此其他帖子 PHP + curl, HTTP POST sample code?

请注意此行使用 curl_setopt($ ch,CURLOPT_URL,“ http://www.example.com/tester.phtml”);

问题是,如果您将浏览器放入localhost:8000 / test.php,则浏览器将默认放入协议,并且看起来您正在进行相同的调用并获得不同的输出

希望这对您有帮助