確認是否安裝了CURL擴展
Linux下命令:
[root@fengniu020 ~]# php -i | grep -i curlAdditional .ini files parsed = /etc/php.d/curl.ini,cURL support = enabledcURL Information = 7.19.7
curl操作步驟解析:
CURL實例
1.一個簡單的curl,抓取百度首頁
2.下載一個網頁并把內容中的“百度”替換為“擺渡”之后輸出
3.調用WebService
一個簡單的curl,抓取百度首頁
?php$curl=curl_init( //www.jb51.net curl_exec($curl);curl_close($curl);?
下載一個網頁并把內容中的“百度”替換為“擺渡”之后輸出
?php * 實例描述:在網絡上下載一個網頁并把內容中的“百度”替換為“擺渡”之后輸出$curlobj = curl_init(); // 初始化curl_setopt($curlobj, CURLOPT_URL, http://www.baidu.com // 設置訪問網頁的URLcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true); // 執行之后不直接打印出來$output=curl_exec($curlobj); // 執行curl_close($curlobj); // 關閉cURLecho str_replace( 百度 , 擺渡 ,$output);?
調用WebService
?php * 實例描述:通過調用WebService查詢北京的當前天氣 * 下方接口,免費用戶24小時內訪問是有限制的,需要存儲信息$data = theCityName=北京 //$data = theCityName=北京 //多個用 號連接$curlobj = curl_init(); curl_setopt($curlobj, CURLOPT_URL, http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName curl_setopt($curlobj, CURLOPT_HEADER, 0); curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlobj, CURLOPT_POST, 1); //POST方式curl_setopt($curlobj, CURLOPT_POSTFIELDS, $data); curl_setopt($curlobj, CURLOPT_HTTPHEADER, array( application/x-www-form-urlencoded; charset=utf-8 , Content-length: .strlen($data) )); //HTTP請求頭curl_setopt ($curlobj, CURLOPT_USERAGENT, $_SERVER[ HTTP_USER_AGENT $rtn = curl_exec($curlobj); if(!curl_errno($curlobj)){ // $info = curl_getinfo($curlobj); // print_r($info); echo $rtn; } else { echo Curl error: . curl_error($curlobj);curl_close($curlobj);?
從FTP服務器下載一個文件到本地
?php * 代碼實例-PHP-cURL實戰 * 實例描述:從FTP服務器下載一個文件到本地$curlobj = curl_init(); curl_setopt($curlobj, CURLOPT_URL, ftp://192.168.1.100/downloaddemo.txt curl_setopt($curlobj, CURLOPT_HEADER, 0); curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlobj, CURLOPT_TIMEOUT, 300); // times out after 300scurl_setopt($curlobj, CURLOPT_USERPWD, peter.zhou:123456 //FTP用戶名:密碼// Sets up the output file$outfile = fopen( dest.txt , wb //保存到本地的文件名curl_setopt($curlobj, CURLOPT_FILE, $outfile);$rtn = curl_exec($curlobj); fclose($outfile); if(!curl_errno($curlobj)){ // $info = curl_getinfo($curlobj); // print_r($info); echo RETURN: . $rtn; } else { echo Curl error: . curl_error($curlobj);curl_close($curlobj);?
把本地文件上傳到FTP服務器上
?php * 代碼實例-PHP-cURL實戰 * 實例描述:把本地文件上傳到FTP服務器上$curlobj = curl_init(); $localfile = ftp01.php //需要上傳的文件$fp = fopen($localfile, r curl_setopt($curlobj, CURLOPT_URL, ftp://192.168.1.100/ftp01_uploaded.php //上傳后保存的文件名curl_setopt($curlobj, CURLOPT_HEADER, 0); curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlobj, CURLOPT_TIMEOUT, 300); // times out after 300scurl_setopt($curlobj, CURLOPT_USERPWD, peter.zhou:123456 //FTP用戶名:密碼curl_setopt($curlobj, CURLOPT_UPLOAD, 1);curl_setopt($curlobj, CURLOPT_INFILE, $fp);//傳輸打開的文件curl_setopt($curlobj, CURLOPT_INFILESIZE, filesize($localfile));//上傳的文件大小$rtn = curl_exec($curlobj); fclose($fp); if(!curl_errno($curlobj)){ echo Uploaded successfully. } else { echo Curl error: . curl_error($curlobj);curl_close($curlobj);?
下載網絡上面的一個HTTPS的資源
?php * 代碼實例-PHP-cURL實戰 * 實例描述:下載網絡上面的一個HTTPS的資源$curlobj = curl_init(); // 初始化curl_setopt($curlobj, CURLOPT_URL, http://ajax.aspnetcdn.com/ajax/html' target='_blank'>jquery.validate/1.12.0/jquery.validate.js // 設置訪問網頁的URLcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true); // 執行之后不直接打印出來// 設置HTTPS支持date_default_timezone_set( PRC // 使用Cookie時,必須先設置時區curl_setopt($curlobj, CURLOPT_SSL_VERIFYPEER, 0); // 對認證證書來源的檢查從證書中檢查SSL加密算法是否存在,設置為0就是終止從服務器端進行驗證curl_setopt($curlobj, CURLOPT_SSL_VERIFYHOST, 2); // $output=curl_exec($curlobj); // 執行curl_close($curlobj); // 關閉cURLecho $output;?
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
PHP實現通過URL提取根域名
以上就是關于PHP中的數據傳輸CURL的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答