相关文章推荐
豪气的青蛙  ·  SSIS 设计器 - SQL Server ...·  7 月前    · 
大鼻子的镜子  ·  Problem with passing ...·  8 月前    · 
刚毅的卤蛋  ·  JavaScript-Number 与 ...·  1 年前    · 
飘逸的青蛙  ·  shell - ...·  1 年前    · 
curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Content-Type: application/json; charset=utf-8", "Content-Length: " . strlen($data_string)) //执行并获取HTML文档内容 $output = curl_exec($ch); //释放curl句柄 curl_close($ch); $output = json_decode($output, true); return $output;
 $output = curl_exec($ch);返回居然是false

我们在 curl_exec 函数前面通过 curl_error($curl) 获取错误也是 string(0) "" 空字符串。

最后经过多番查询,原来请求的是https链接 ,ssl协议,加上这两句就可以。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

来源: 在php中使用curl时返回false如何解决 - 开发技术 - 亿速云

在本地开发环境(window)phpstudy请求企业微信的接口时 private function httpPost($url, $data = array()) { $url = $this->host . '/' . $url; $data_string = json_encode($data); $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1);
症状: php curl 调用 https 出错 排查方法:在命令行 使用 curl 调用 试试。 原因: 服务器 所在机房无法验证SSL证书。 解决 办法:跳过SSL证书检查。 curl _set opt ($ch, CURL OPT _SSL_VERIFYPEER, false ); 症状: php curl 调用 curl _ exec 返回 bool( false ),命令行 curl 调用 正常。 排查方法: var_dump( curl _error($ch)); 返回 : string(23) “Empty reply from server” 再排查: curl _set opt ($ch, CURL OPT _ HEADER , true); cur
function request_post($url = '', $param = '') { if (empty($url) || empty($param)) { return false ; $postUrl = $url; $ curl Post = $param; $ curl = curl _init();//初始化 curl curl _set opt ($ curl , CURL OPT _URL,$postUrl);//抓取指定网页 curl _set opt ($ curl , CURL OPT _ HEADER , 0);// 设置 header curl _set * @desc 封装 curl 调用 接口 ,post的请求方式 function do Curl PostRequest($url, $requestString, $timeout = 5) { if($url == "" || $requestString == "" || $timeout <= 0){ return false ; $con = curl _init((string)$url); curl _set opt ($con, CURL OPT _ HEADER , false ); curl _set opt ($con,
curl 在请求 https 的链接 的处理 1、不验证证书和host curl _set opt ($ch, CURL OPT _SSL_VERIFYPEER, false ); curl _set opt ($ch, CURL OPT _SSL_VERIFYHOST, false ); 2、设定一个正确的证书。 下载新的ssl 本地判别文件http:// curl .haxx.se/ca/cacert.pe...
调用 微信的 接口 候发现 curl _ exec 返回值 false ,代码如下: // PHP 代码 function Post($url, $post_data = '', $timeout = 5){ $ch = curl _init(); curl _set opt ($ch, CURL OPT _URL, $url); if(...
function _ curl ($url, $data="", $type="POST", $ opt ions=null){ if(empty($url)){ return false ; $type = in_array(strtoupper($type), ['POST','GET','PUT','PATCH','DELETE']) ? $type : "POST"; $connect_timeout =...
PHP 使用 curl 返回 false 的情况处理 一般情况下 使用 php curl 去模拟访问 http 或者 https 可能会出现一些莫名其妙的问题,让人不好查找错误。 比如,以下是伪代码: $response = curl _ exec ($ch); return $response; 在执行后 curl 操作后发现 返回 : bool( false ) 像这样的错误,是比较懵逼的。 这 可以 使用 ...
function request($url, $data = array(), $method = 'GET') { $ curl = curl _init(); $timeout = 30; $ header s = array( 'Content-Type: application/json', 'Accept: application/json' curl _set opt ($ curl , CURL OPT _URL, $url); curl _set opt ($ curl , CURL OPT _HTTP HEADER , $ header s); curl _set opt ($ curl , CURL OPT _RETURNTRANSFER, true); curl _set opt ($ curl , CURL OPT _CONNECTTIMEOUT, $timeout); curl _set opt ($ curl , CURL OPT _SSL_VERIFYPEER, false ); curl _set opt ($ curl , CURL OPT _SSL_VERIFYHOST, false ); if ($method == 'POST') { curl _set opt ($ curl , CURL OPT _POST, true); curl _set opt ($ curl , CURL OPT _POSTFIELDS, json_encode($data)); $result = curl _ exec ($ curl ); $httpCode = curl _getinfo($ curl , CURL INFO_HTTP_CODE); curl _close($ curl ); if ($httpCode == 200) { return json_decode($result, true); } else { return false ; 这个方法 使用 curl 库来发送请求。它支持 GET 和 POST 方法,并允许您传递数据。它还 设置 了一些默认值来确保请求的安全性,例如 设置 了请求头的 content-type 和 accept 属性,关闭了 SSL 验证等等。 使用 此方法 ,您只需要传递要 调用 接口 的 URL、请求的数据(如果需要)和请求的方法(默认为 GET)即可。例如: ``` php $result = request(' https ://example.com/api/users', array('name' => 'John', 'email' => 'john@example.com'), 'POST'); 这将向 https ://example.com/api/users 发送一个 POST 请求,其 包含名为 John 和电子邮件地址为 john@example.com 的用户数据。请求成功 ,该方法将 返回 JSON 格式的响应数据。如果请求失败,则 返回 false