亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中的CURL庫

發布時間:2020-06-25 03:52:05 來源:網絡 閱讀:417 作者:zcfortest 欄目:web開發

CURL是利用URL語法在命令行方式下工作的開源文件傳輸工具。

PHP通過默認支持CURL擴展庫,可以實現開發中常見的傳輸功能:

  1. 實現遠程獲取和采集內容

  2. 實現PHP網頁版的FTP上傳和下載

  3. 實現模擬登陸,例如一個郵件系統,CURL可以模擬Cookies

  4. 實現接口對接(API)、數據傳輸,例如微信公眾平臺的開放接口訪問

  5. 實現模擬Cookie等,登錄狀態下才可以操作的一些屬性


PHP的CURL功能擴展模塊提供了很多函數,但在所有不走之前要先通過curl_int()創建一個新的CURL會話

$ch = curl_init();  //創建curl資源

現在已成功創建一個curl會話,下一步傳遞一個URL給curl_setopt()

curl_septopt($ch,CURLOPT_URL,"mysens.blog.51cto.com"); //設置URL

通過前兩步我們的準備工作就完成了,接下來就是獲取URL站點內容并打印出來

curl_exec($ch); //執行,獲取URL內容并輸出

最后關閉CURL會話,釋放資源

curl_close($ch); //釋放資源

這樣就完成了一次簡單curl會話。

如果我們需要獲取內容但不輸出,我們可以加入以下代碼控制

curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); //任何一個非0或true值都行

當然CURL也有自己的檢查錯誤語句

if(curl_exec($ch) === false){
    echo "cURL Error: ".curl_error($ch); //打印錯誤
}

一個完整的request代碼如下

function request($url,$output = true){
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,$output);
    $res = curl_exec($ch);
    if($res === false){
        trigger_error("cURL Error: ".curl_error($ch));
    }
    curl_close($ch);
    return $res;
}

在手冊中查看curl_setopt()的更多設置

http://php.net/manual/zh/function.curl-setopt.php

----------------------------

下面是幾個常用功能的簡單說明

  1. 上傳文件

//object_file 為表單名稱,$filepath為路徑 
if(version_compare(phpversion(), '5.5.0') >=0 ){
    $data = array( 'object_file' => new CURLFile($filepath) );
}else{
    $data = array( 'object_file' => '@'.$filepath ); //@符號一定要有
}

2.模擬登陸

//首先我們需要一個儲存cookie的文件地址$cookie=dirname(_FILE_).'/cookie.txt
//接著模擬登陸,需要一個包含用戶名及密碼的$post=array('usrname'=>mysens,'password'=>123456)
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post));
//登陸完成后,獲取我們需要的頁面信息
curl_setopt($ch, CURLOPT_COOKIEFILE,$cookie);

3.HTTP認證

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt(CURLOPT_USERPWD, '[username]:[password]')

4.代理服務器

curl_setopt($ch, CURLOPT_URL, 'http://www.example.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXY, 'proxy.com:1080');
curl_setopt($ch, CURLOPT_PROXYUSERPWD, '[username]:[password]');

5.設置SSL

//不進行SSL認證
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//只信任CA頒布的證書 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_CAINFO, $cacert);  
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
//信任任何證書
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);

cURL有這么多功能,下次用到URL請求時一定要想起cURL庫噢

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳江市| 时尚| 苏尼特左旗| 定南县| 水城县| 澄江县| 合作市| 元朗区| 潮安县| 南漳县| 衡水市| 墨竹工卡县| 邹城市| 施秉县| 高邑县| 周宁县| 安多县| 郴州市| 六枝特区| 神池县| 全州县| 务川| 六安市| 遂溪县| 吉木萨尔县| 济南市| 崇阳县| 罗甸县| 郸城县| 霞浦县| 锡林浩特市| 乌拉特前旗| 喀喇沁旗| 南京市| 辽中县| 中超| 台南县| 吉木萨尔县| 彭州市| 铜陵市| 丹棱县|