本文實例講述了php之curl實現http與https請求的方法,分享給大家供大家參考。具體如下:
通常來說,php的curl函數組可以幫助我們把機器偽裝成人的行為來抓取網站,下面來分享兩個例子,一個是訪問http網頁,一個訪問https網頁,一起來看一下。
每次要使用curl的時候,總要查一堆資料。
現在將常用的幾句保存下來,省的每次都去谷歌。
常規curl請求:
復制代碼 代碼如下:$url = 'http://www.bkjia.com';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);
var_dump($data);
使用curl請求HTTPS:
復制代碼 代碼如下:$url = 'https://www.jb51.net';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//這個是重點。
$data = curl_exec($curl);
curl_close($curl);
var_dump($data);
注意
當請求https的數據時,會要求證書,這時候,加上下面這兩個參數,規避ssl的證書檢查
復制代碼 代碼如下:curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https請求 不驗證證書和hosts
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
希望本文所述對大家的PHP程序設計有所幫助。
錯誤提示是不能支持https的協議。
stackoverflow.com/...-https 救了我啊,謝天謝地。
說是 https 前面多了空格
可以。
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
對了,可定能得到返回值