我试图从某个服务器获取一些数据。我收到了.pfx证书,并被告知要将其与我的用户名和密码一起使用以建立连接。在线阅读后,我发现我需要将.pfx证书转换为.pem,我使用的密码和证书一起使用。我现在尝试使用以下curl调用建立连接:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $token_service_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_USERPWD, "$account:$passw");
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,1);
curl_setopt($ch,CURLOPT_CAINFO,getcwd() . "/application/controllers/my_cert.pem");
curl_setopt($ch,CURLOPT_CAPATH,getcwd() . "/application/controllers/my_cert.pem");
$output = curl_exec($ch);
$info = curl_getinfo($ch);
echo curl_errno($ch);
echo "\n\n";
echo curl_error($ch);
curl_close($ch);
但是没有取得任何成功。我也尝试了以下备用电话,但没有成功:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $token_service_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERPWD, "$account:$passw");
curl_setopt($ch, CURLOPT_SSLCERT, getcwd() . "/application/controllers/my_cert.pem");
$output = curl_exec($ch);
$info = curl_getinfo($ch);
echo curl_errno($ch);
echo "\n\n";
echo curl_error($ch);
curl_close($ch);
我收到503错误(服务暂时不可用)。打印出错误时:curl_error():74不是有效的cURL句柄资源 我已联系负责服务器的人员,只是为了验证服务,服务器正常运行,一切似乎都很好。