我通过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
);
答案 0 :(得分:0)
我通过在标头中添加SOAPAction解决了这个问题:
$headers = array("Content-type: text/xml;charset=\"utf-8\"", "Accept: text/xml", "SOAPAction: http://direccion.com/Crear", "Content-length: ".strlen($xml), );