php curl_exec无法返回结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php curl_exec无法返回结果相关的知识,希望对你有一定的参考价值。

<?php
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL ,"https://www.google.com.hk/");
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close($ch);
?>
运行后页面什么也没有显示就是空白一片
在curl_exec ($ch)下面加了一行2echo curl_errno($ch);返回错误数字2,
有人知道为什么吗?就只有curl_exec这里出错
感觉是配置上的问题了,但是就是不知道哪里出错了

参考技术A 你要显示是不是需要这个参数,你试试
// 设置curl 参数,要求结果保存到变量中还是输出到屏幕上,false直接输出到屏幕上。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return_data = curl_exec($ch);
curl_close($ch);
var_dump($return_data);追问

一样都是错误(curl_errno=2),没有显示出来
就是只要运行到curl_exec这里就出错了,其他函数用cheo 都能显示1出来,就只有是curl_exec这里是空白
自己感觉是配置问题,也不知道要怎么搞,
php版本也换了都是一样出错

追答

"https://www.google.com.hk/"
这个是http吧,不是https协议

追问

无用,一样
悬案懒得弄了

为啥 curl_exec($url) 返回空字符串

【中文标题】为啥 curl_exec($url) 返回空字符串【英文标题】:why curl_exec($url) return the empty string为什么 curl_exec($url) 返回空字符串 【发布时间】:2016-11-23 06:07:12 【问题描述】:

代码:

<?php
$url = "oooff.com";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;
?>

为什么上面的代码显示一个空白页?

任何帮助将不胜感激。

【问题讨论】:

那么file_get_contents呢? 您的代码中没有file_get_contents。你的意思是curl 尝试检查 curl 请求中的错误if (curl_error($ch)) echo curl_error($ch); 欢迎堆栈溢出 :-) 请查看How to Ask 以及如何创建minimal reproducible example。这将有助于获得有用的答案。我将此问题标记为关闭。 【参考方案1】:

你的 curl 代码工作正常,但 file_get_contents($url) 不行,如果你尝试它会工作

$url = "http://www.oooff.com";
echo file_get_contents($url);

不同之处在于http://www的使用,您可以在此处查看手册以获取正确的路径http://php.net/manual/en/function.file-get-contents.php

【讨论】:

以上是关于php curl_exec无法返回结果的主要内容,如果未能解决你的问题,请参考以下文章

php 用curl_exec 采集页面内容,结果 302重定向

php 中 怎么让curl_exec 以数组形式返回

php pdo调用SQLServer存储过程无法获取返回结果

curl_exec() 总是返回 false

curl_exec 使用谷歌云消息返回 null

为啥 curl_exec($url) 返回空字符串