首页 > 解决方案 > 发送请求 Web 服务时 PHP 中出现 Curl 错误 56

问题描述

我通过 SOAP 将请求发送到具有自签名证书的 Web 服务,为此我应用以下函数以便将其省略

        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => 0,

但我收到以下错误代码:

CURL error: 56

做一些研究并根据 Curl ( https://curl.haxx.se/libcurl/c/libcurl-errors.html ) 错误列出这是由于接收网络数据失败。

我可以应用什么其他功能来克服这个错误?

        $curl_options = array(
        CURLOPT_URL => $url,
        CURLOPT_HTTPHEADER => $headers,
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => 0,
        CURLOPT_TIMEOUT =>20

    );

标签: phpsslcurl

解决方案


我通过在标题中添加 SOAPAction 解决了这个问题:

$headers = array("Content-type: text/xml;charset=\"utf-8\"", "Accept: text/xml", "SOAPAction: http://direccion.com/Crear", "Content-length: ".strlen($xml), );

推荐阅读