我必须将数据发送到付款服务器并从中接收结果。我决定使用cUrl来实现这一目标。另一方给了我一张ssl证书,就像公钥一样(如果我理解的话)。 cUrl调用返回错误抱怨无法设置私钥,我不明白,因为我无法获得支付服务器的私钥来解决安全问题。我只需要将我的ssl证书传递给支付服务器,以便他们可以识别我(他们有我的服务器IP,我想他们给我的证书的私钥)。
我想我需要模拟浏览器发送证书的方式来访问必要的网站,而不是用私钥签名信息。
所以问题是 - 如何制作cUrl http帖子?
现在我使用这段代码:
$x = curl_init();
$options = array(
CURLOPT_URL => $serverURL,
CURLOPT_VERBOSE => 1,
CURLOPT_SSLCERT => getcwd() . "/certificate.pem",
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_FAILONERROR => 1,
CURLOPT_HEADER => true,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $string,
CURLOPT_FOLLOWLOCATION => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_TIMEOUT => 5,
);
curl_setopt_array($x, $options);
$data = curl_exec($x);
if (curl_errno($x)) {
echo curl_error($x) . " ( " . curl_errno($x) . " )<br/>";
} else {
echo "reponse: ";
var_dump ($data);
}
答案 0 :(得分:1)
CURLOPT_SSL_VERIFYPEER应设置为true而不是false
答案 1 :(得分:0)
确定。似乎我没有得到所有的数据。我必须有一把钥匙和钥匙才能正常运作。