【问题标题】:How to add the custom headers to https requesting curl PHP script?如何将自定义标头添加到 https 请求 curl PHP 脚本?
【发布时间】:2014-07-16 07:01:29
【问题描述】:

在 curl PHP 脚本中,我们通过 curl_setopt CURLOPT_HTTPHEADER 选项添加标题。它适用于像 search.yahoo.com 这样的 HTTP 请求,但我尝试使用 HTTPS 请求它不起作用。

我已通过将 CURLOPT_SSL_VERIFYPEER 选项设置为 false 来禁用 SSL 对等验证。有没有办法实现?

【问题讨论】:

  • curl_exec() 之后尝试curl_error() 并向我们显示错误消息(如果有)。
  • 是的,我试过它给出了无法连接到主机的错误
  • 您必须提供您使用的完整代码。否则我们帮不了你
  • 如果您对主机执行 ping 操作或对该 url 进行跟踪路由,您是否可以到达主机?但正如@hindmost 所说:向我们提供您的 curl 代码部分。
  • 我无法发布代码,因为我是从手机上发布的,所以发布代码时出现问题,但我会,但我会告诉你我想做什么

标签: php curl https


【解决方案1】:

这是一个快速的解决方案 添加 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_exec() 之前

这里是 $ch curl_init() 对象;

refer here 寻求替代解决方案

【讨论】:

    【解决方案2】:

    首先您需要使用浏览器下载 CA 证书并将其保存为 X.509。这将使您能够接受 CA 颁发的所有证书。然后使用以下 CURL 选项:

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_CAINFO, "path_to_CA_certificate.crt");
    

    CURLOPT_VERIFYHOST 有不同的选项,您可以先尝试 0 以避免 CN 检查,如果有效则尝试 2。

    希望对你有帮助。

    【讨论】:

    • 我想将主机头发送给他们,它可以通过任何其他方式发送
    猜你喜欢
    • 2016-11-14
    • 2016-12-31
    • 1970-01-01
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 2013-11-13
    • 2018-04-12
    • 1970-01-01
    相关资源
    最近更新 更多