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證書到時可以幫到你去哪申請試用或是收費的。