没有不值得去解决的问题,也没有不值得去学习的技术!

在 curl 请求 https 网址,响应为 false 的排查分析

1、在 curl 请求 https 网址,响应为 false 的排查分析。 var_dump($rst),其值为 false


$json = Helper::curlRequest("https://api.weixin.qq.com/sns/jscode2session?appid={$config['id']}&secret={$config['secret']}&js_code={$code}&grant_type=authorization_code");


    public static function curlRequest($url, $params = array(), $isreturn = true, $ispost = 0, $referer = '', $need_header = false, $user_agent = 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)')
    {
        if (empty($referer)) {
            $urlinfo = parse_url($url);
            if (isset($urlinfo['scheme'])) {
                $referer = $urlinfo['scheme'] . '://' . $urlinfo['host'] . '/';
            } else {
                $referer = '//' . $urlinfo['host'] . '/';
            }
        }

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        //curl_setopt($ch, CURLOPT_AUTOREFERER, $referer);
        curl_setopt($ch, CURLOPT_REFERER, $referer);
        curl_setopt($ch, CURLOPT_HEADER, $need_header);
        curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
        //curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36');
        if ($ispost) {
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $rst = curl_exec($ch);
        curl_close($ch);
        if ($isreturn) {
            return $rst;
        }
    }



2、在 php.ini 中配置 openssl.cafile。重启 php-fpm 后,不再响应 false


openssl.cafile = /etc/ssl/certs/cacert.pem


需要长期技术维护或远程问题排查?

我是拥有 15+ 年经验的 PHP / Go 后端工程师,长期关注已有系统维护、Bug 修复、性能优化、服务器排查、WordPress 网站维护和小功能迭代。

如果你的项目遇到以下情况,可以先从一次小问题排查开始合作:

  • ✅ PHP / Laravel / Yii2 老项目无人维护
  • ✅ Go / Gin 后端接口需要排查或优化
  • ✅ WordPress 网站访问慢、报错或插件冲突
  • ✅ Nginx / MySQL / Redis / Linux 服务器异常
  • ✅ CDN / Cloudflare / DNS / HTTPS 配置问题
  • ✅ 需要长期远程技术支持或兼职维护

更多介绍请查看:关于我 & 合作

微信:13980074657
邮箱:shuijingwanwq@gmail.com
Telegram:@shuijingwan
GitHub:https://github.com/shuijingwan

评论

一条对“在 curl 请求 https 网址,响应为 false 的排查分析”的回复

  1. […] 4、最后不得不基于 curl 重新实现,终于解决。参考:在 curl 请求 https 网址,响应为 false 的排查分析 […]

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理