php - 发送请求 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
);
解决方案
我通过在标题中添加 SOAPAction 解决了这个问题:
$headers = array("Content-type: text/xml;charset=\"utf-8\"", "Accept: text/xml", "SOAPAction: http://direccion.com/Crear", "Content-length: ".strlen($xml), );
推荐阅读
- python - 将 Beautiful Soup find_all 列表合并为一个元素
- elasticsearch - 两个完全独立的搜索的联合结果
- ios - IOS/Objective-C:将 UITextAttributeTextColor 转换为 NSForegroundColorAttributeName
- python - 如何将每列的每个唯一值的计数聚合为由列标题索引的行?
- javascript - UTC+0 午夜日期的 UNIX 时间戳
- unity3d - 切换场景时静音按钮不起作用
- java - 如何记录 webdriver 调用,代理不工作
- php - Apache重写规则帮助,奇怪的结果
- xcode - 保存数据xcode后转到下一个屏幕?
- java - 哪个更好,编写另一种方法或在现有方法中再添加一个参数?