今天一个运行良好的PHP 5.5网站已经开始抛出这个错误:
错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败
我从不同的问题尝试了很多解决方案,但我找不到错误.
MAMP SSL错误:"错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败"
这里说要将CURLOPT_SSL_VERIFYPEER更改为false,但不起作用.
我尝试了很多sslversions和cipher_list,但也没有用.
正如我所说,这个问题几天前不在这里,也许这是与1.6.4版本有关的新内容.
任何的想法?
您好我正在使用其他人使用的代码,这些人据说已经让它工作并且已经获取了他们的令牌信息.代码如下:
$ch = curl_init();
$clientId = "myclientid";
$secret = "mysecret";
curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/oauth2/token");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSLVERSION , 6); //NEW ADDITION
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $clientId.":".$secret);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
$result = curl_exec($ch);
if(empty($result))die("Error: No response.");
else
{
$json = json_decode($result);
print_r($json->access_token);
}
curl_close($ch); //THIS CODE IS NOW WORKING!
Run Code Online (Sandbox Code Playgroud)
我使用PHP和cURL从Paypal API检索了这个代码,并且看到它在其他人的代码中实现,所以我认为它有效.但是,即使我提供了正确的客户端ID和密码(也许最近的更新破坏了这段代码?),我只收到没有响应.
Paypal提供的关于获取访问令牌的指南可在 此处找到 - > https://developer.paypal.com/docs/integration/direct/make-your-first-call/但是它在cURL中演示了解决方案,而不是通过PHP cURL扩展所以它对我来说很难听.有帮助吗?