當前位置:首頁 » 編程語言 » phpcurlhttps請求

phpcurlhttps請求

發布時間: 2023-01-21 17:53:29

php用curl時,HTTP鏈接正常,HTTPS時,獲取不到數據

https 需要認證。

簡易方法 (不認證,不安全)
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

安全方法(認證,安全):

用firefox查出網站的CA certificate,下戴, 然後
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/CAcerts/BuiltinObjectToken-EquifaxSecureCA.crt");

Ⅱ 對於https協議的網站,可以用php 的curl來模擬get請求和post請求嗎,能得到返回值嗎

可以。
CURLOPT_PROTOCOLS
CURLPROTO_* 的位域指。如果被啟用,位域值會限定libcurl在傳輸過程中有哪些可使用的協議。這將允許你在編譯libcurl時支持眾多協議,但是限制只是用它們中被允許使用的一個子集。默認libcurl將會使用全部它支持的協議。參見 CURLOPT_REDIR_PROTOCOLS .
可用的協議選項為:CURLPROTO_HTTP、CURLPROTO_HTTPS、CURLPROTO_FTP、CURLPROTO_FTPS、CURLPROTO_SCP、CURLPROTO_SFTP、CURLPROTO_TELNET、CURLPROTO_LDAP、CURLPROTO_LDAPS、CURLPROTO_DICT、CURLPROTO_FILE、CURLPROTO_TFTP、CURLPROTO_ALL

對了,可定能得到返回值

Ⅲ AMH 面板curl 請求https頁面伺服器報404錯誤

那說明WEB目錄在HTTPS配置中沒有具體綁定。或者文件不支持HTTPS調用。

Ⅳ php curl調用http與https有何不同

https要求有證書,通常可以通過
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);//SSL報錯時使用
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);//SSL報錯時使用
對證書進行屏蔽。

如果是你自己本身需要驗證證書,那就不能屏蔽這里了。

更多PHPcURL內容請參考我的博客《PHPcURL實現模擬登錄與採集使用方法詳解教程》

Ⅳ PHP使用curl訪問https頁面的問題

你試試 curl_multi_getcontent( resource $ch ) 我記得這個東西是要接受的 忘了是在傳過去的頁面還是本頁面

Ⅵ 如何使用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 = 'https://www.example.com/api/message.php';
$data = array('name'=>'fdipzone');
$header = array();

$response = curl_https($url, $data, $header, 5);

echo $response;
?>

希望本文所述對大家的php程序設計有所幫助。

Ⅶ 如何通過php發送https Get請求

我封裝了一個Curl類,你看能不能用的上

classHttp{
publicfunctioncurlRequest($url,$postData='',$timeOut=10,$httpHeader=array()){
$handle=curl_init();
curl_setopt($handle,CURLOPT_URL,$url);
if($httpHeader){
curl_setopt($handle,CURLOPT_HTTPHEADER,$httpHeader);
}
curl_setopt($handle,CURLOPT_RETURNTRANSFER,true);
curl_setopt($handle,CURLOPT_HEADER,0);
curl_setopt($handle,CURLOPT_TIMEOUT,$timeOut);
curl_setopt($handle,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($handle,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($handle,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($handle,CURLOPT_USERAGENT,'Mozilla/5.0(Macintosh;IntelMacOSX10_7_2)AppleWebKit/537.36(KHTML,likeGecko)Chrome/27.0.1453.93Safari/537.36');
curl_setopt($handle,CURLOPT_ENCODING,'gzip,deflate,sdch');
if(!empty($postData)){
curl_setopt($handle,CURLOPT_POST,1);
curl_setopt($handle,CURLOPT_POSTFIELDS,$postData);
}
$result['response']=curl_exec($handle);
$result['httpStatus']=curl_getinfo($handle,CURLINFO_HTTP_CODE);
$result['fullInfo']=curl_getinfo($handle);
$result['errorMsg']='';
$result['errorNo']=0;
if(curl_errno($handle)){
$result['errorMsg']=curl_error($handle);
$result['errorNo']=curl_errno($handle);
}
curl_close($handle);
return$result;
}
}
$curl=newHttp();
$strUrl='https://www..com?search=keywords';
$arrResponse=$curl->curlRequest($strUrl);//這就是請求結果

Ⅷ PHP使用CURL請求https的微信統一下單介面時報錯,同樣的代碼我在另一台機器上運行是正常的

我也遇到了同樣的問題,只要是走微信,偶爾都會請求不到,原來是正常的。今天排查了一天,終於找到了原因所在。

centos原生用的NSS,而不是OpenSSL,curl調用NSS庫請求https時偶爾會出現請求不到的情況。

解決方案:
參考網址:網頁鏈接

按步驟完成後記得重啟 php-fpm和nginx

Ⅸ 如何通過php發送https Get請求

<?php

//使用file_get_contents()發送GET請求非常簡單

$url="http://www.caorongan.com";//請求的地址
$response=file_get_contents($url);//發送請求
echo$response;//列印結果

Ⅹ php 用curl獲取https地址

你就算是
注釋1和注釋2都沒有他照樣會有數據輸出
因為 他默認是輸出你獲得到的數據
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//輸出內容為字元串
你要加上上面這一句話
這樣就不會輸出獲取到的數據

熱點內容
solidworkspcb伺服器地址 發布:2025-07-18 22:50:35 瀏覽:815
怎麼在堆疊交換機里配置vlan 發布:2025-07-18 22:42:35 瀏覽:623
java調用別人的介面 發布:2025-07-18 22:37:35 瀏覽:433
伺服器四個節點如何聯網 發布:2025-07-18 22:36:02 瀏覽:271
華強北什麼地方休安卓手機 發布:2025-07-18 22:24:56 瀏覽:735
資料庫的根本目標 發布:2025-07-18 21:37:50 瀏覽:938
壓縮機的流速 發布:2025-07-18 21:37:40 瀏覽:407
三星怎麼取消手機密碼 發布:2025-07-18 21:33:50 瀏覽:630
安卓手機耳機如何彈窗顯示電量 發布:2025-07-18 21:20:53 瀏覽:60
雲伺服器搭建需要什麼工具 發布:2025-07-18 20:51:08 瀏覽:322