【发布时间】:2013-02-07 06:13:03
【问题描述】:
我正在尝试使用 PHP 进行 curl 调用。我的项目有这样的流程
- 我将用户重定向到服务器。
- 用户使用服务,服务器将他重定向到我的应用程序上的页面。
- 此时我想进行服务器到服务器调用以验证某些详细信息。
注意点 - 我发布 JSON 数据以及接收 JSON 数据作为响应。
我已经试过了。我可以发送数据,但没有收到任何响应。
这是正确的吗? 请帮忙!
$data = array("One" => "Onedata", "Two" => "Twodata");
$JsonData = json_encode($data);
$ch = curl_init('https://exampleurl');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $JsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($JsonData))
);
$result = curl_exec($ch);
【问题讨论】:
-
没有没有回应这回事。如果失败,则有 curl 错误消息供您检查。如果成功,还有一个状态供您检查。
-
好的,我使用 curl_getinfo($ch, CURLINFO_HTTP_CODE) 得到的响应是 0。我想这意味着 URL 不可访问?防火墙问题?
-
我也检查了错误。这是发回的错误。 “SSL 证书问题,验证 CA 证书是否正常。详细信息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败”
-
嘿,好吧,所以我找到了问题所在。 SSL 验证是问题所在。我使用 curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0) 将其关闭; curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);现在可以使用了。
-
值得在下面发布您自己问题的答案并将其标记为正确,供关注的人使用。