1. curl代码出现ca证书错误这是怎么回事
错误代码出现原因有很多种: 1.在装系统时没有装好; 2.电脑的有些硬件驱动没有装好回; 3.系统的缓存不答够,太小了; 4.某些应用程序在安装有些文件会与系统文件相互共用,一但你删除或损坏这个程序的话,也就等于损坏了系统.计算机出现错误代码大部分是...
2. 求助啊,curl https请求的问题
解决方法为在curl请求时,加入:
复制代码代码如下:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
curl https请求代码
复制代码代码如下:
<?php
/** curl 获取 https 请求
* @param String $url 请求的url
* @param Array $data 要发送的数据
* @param Array $header 请求时发送的header
* @param int $timeout 超时时间,默认30s
*/
function curl_https($url, $data=array(), $header=array(), $timeout=30){
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
$response = curl_exec($ch);
if($error=curl_error($ch)){
die($error);
}
curl_close($ch);
return $response;
}
// 调用
$url = '';
$data = array('name'=>'fdipzone');
$header = array();
$response = curl_https($url, $data, $header, 5);
echo $response;
?>
希望本文所述对大家的php程序设计有所帮助。
3. 如何在PHP扩展里打开openssl支持可以解决此问题
如果你是来在WINDOWS 下面要注意一个问自题。 就是PHP 的 https 请求时通过curl 模块发出的。 而WINDOWS 上面的curl 的实现对证书这块有问题的。 就是不能够打开操作系统的证书验证系统。 所以始终都会失败。
解决的办法就是取消掉HTTPS 的证书验证:
$curlOptions[CURLOPT_SSL_VERIFYPEER] = 0;
$curlOptions[CURLOPT_SSL_VERIFYHOST] = 0;
$curlHandler = curl_init();
curl_setopt_array($curlHandler, $curlOptions);
openssl_open() 成这样的函数底层应该也是调用的curl 模块的 所以搜索下 openssl_open() 如何取消证书 验证应该就可以了。 想在WINDOWS 上面实现证书验证还比较麻烦的。 不知道为什么 PHP 没有实现这个。 在LINUX 和MAC 上面是工作的
4. openssl_open()在PHP扩展里打开openssl支持可以解决此问题
如果你是在抄WINDOWS 下面要注意一个问题。 就是PHP 的 https 请求时通过curl 模块发出的。 而WINDOWS 上面的curl 的实现对证书这块有问题的。 就是不能够打开操作系统的证书验证系统。 所以始终都会失败。
解决的办法就是取消掉HTTPS 的证书验证:
$curlOptions[CURLOPT_SSL_VERIFYPEER] = 0;
$curlOptions[CURLOPT_SSL_VERIFYHOST] = 0;
$curlHandler = curl_init();
curl_setopt_array($curlHandler, $curlOptions);
openssl_open() 成这样的函数底层应该也是调用的curl 模块的 所以搜索下 openssl_open() 如何取消证书 验证应该就可以了。 想在WINDOWS 上面实现证书验证还比较麻烦的。 不知道为什么 PHP 没有实现这个。 在LINUX 和MAC 上面是工作的
5. CURL库怎样验证服务器证书
php -m命令只能看到模块,不能看到模块的详细信息,没多大用处。
访问phpinfo()页面,专看curl模块的信息就属知道有没有开启curl模块,curl支不支持SSL了。 如果你是使用yum安装的php,你可以尝试安装php-curl这个包: yum install php-curl 安装好。
6. 本人linux小白,请问下curl命令跟https怎么跳过认证,,如下图,十分感谢!!!
curl -k加这个参数忽略证书
7. curl怎么解决https证书问题
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
跳过SSL
8. curl 判断ssl证书有么 shell
若服务端要求客户端认证,需要将pfx证书转换成pem格式
openssl pkcs12 -clcerts -nokeys -in cert.pfx -out client.pem #客户端个人证书的公钥
openssl pkcs12 -nocerts -nodes -in cert.pfx -out key.pem #客户端个人证书的私钥
也可以转换为公钥与私钥合二为一的文件
openssl pkcs12 -in cert.pfx -out all.pem -nodes #客户端公钥与私钥,一起存在all.pem中
执行curl命令
1、使用client.pem+key.pem
curl -k --cert client.pem --key key.pem https://www.xxxx.com
2、使用all.pem
curl -k --cert all.pem https://www.xxxx.com
使用-k,是不对服务器的证书进行检查,这样就不必关心服务器证书的导出问题了。
9. centos6.8 curl 证书在什么路径
安装PPP和IPTABLES服务,iptables一般情况默认都是系统装好后就已经有了,安装iptables是为了做NAT,让PPTP客户端能够通专过PPTP服务器上外网。属
安装PPTP
配置pptp
开启ip转发
配置iptables转发
启动服务,到此配置已经完毕
10. curl 发起https请求需要 指定证书目录么
不懂啥是worldpay的SSL证书,可能是简历一个SSL通道吧,关于SSL证书到时可以帮到你去哪申请试用或是收费的。