我目前正在构建一个脚本来完成一些SSL卷曲请求,但是我没有运气来实现这些。我从 curl_error()收到的只是一个简单的“ SSL连接错误”字符串......这根本没用。我尝试插入有效的自签名证书,禁用验证完全(如下面的代码所示),以及一百万个和其他一个配置差异,但我一直都会遇到此错误。我哪里错了?
function request($url, $data, $method)
{
$curlSession = curl_init();
$headers = [
'Authorization: Basic ' . 'REDACTED'
];
// Set the URL
curl_setopt($curlSession, CURLOPT_URL, $url);
curl_setopt($curlSession, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curlSession, CURLOPT_HEADER,1);
switch ($method) {
case 'POST':
curl_setopt($curlSession, CURLOPT_POST, 1);
curl_setopt($curlSession, CURLOPT_POSTFIELDS, $data);
case 'PUT':
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($curlSession, CURLOPT_POSTFIELDS, $data);
}
// Return it direct, don't print it out
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, 1);
// Set correct port
curl_setopt($curlSession, CURLOPT_PORT, 80);
// This connection will timeout in 30 seconds
curl_setopt($curlSession, CURLOPT_TIMEOUT, 30);
// Disable SSL Checking as not working
curl_setopt($curlSession, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlSession, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curlSession, CURLINFO_HEADER_OUT, true);
// Send the request and store the result in an array
$rawResponse = curl_exec($curlSession);
// Check that a connection was made
if (curl_error($curlSession)) {
$info = curl_getinfo($curlSession);
$curlError = curl_error($curlSession);
// Close the cURL session
curl_close($curlSession);
print_r($info);
print($curlError);
// If it wasn't...
return false;
}
$info = curl_getinfo($curlSession);
$httpStatus = curl_getinfo($curlSession, CURLINFO_HTTP_CODE);
// Close the cURL session
curl_close($curlSession);
return $rawResponse;
}
答案 0 :(得分:1)
尝试添加:
curl_setopt($curlSession, CURLOPT_SSLVERSION, 3); // FIX SSL23_GET_SERVER_HELLO error