溫馨提示×

溫馨提示×

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

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

curl模擬http請求的案例分析

發(fā)布時間:2020-11-02 14:17:23 來源:億速云 閱讀:183 作者:小新 欄目:編程語言

這篇文章主要介紹curl模擬http請求的案例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

cURL的官方定義為:curl is a command line tool for transferring data with URL syntax,即使用URL語法規(guī)則來傳輸數(shù)據的命令行工具

PHP 支持 Daniel Stenberg 創(chuàng)建的 libcurl 庫,能夠連接通訊各種服務器、使用各種協(xié)議。libcurl 目前支持的協(xié)議有 http、https、ftp、gopher、telnet、dict、file、ldap。 libcurl 同時支持 HTTPS 證書、HTTP POST、HTTP PUT、 FTP 上傳(也能通過 PHP 的 FTP 擴展完成)、HTTP 基于表單的上傳、代理、cookies、用戶名+密碼的認證。

概念

curl模擬http請求的案例分析

在PHP中使用cURL

圖示:

curl模擬http請求的案例分析

cURL模擬get請求

/**
 * get方式發(fā)送curl請求
 * @param string $url    請求服務器地址
 * @param array $header  請求頭數(shù)據
 * @param int $timeout   超時時間
 * @return mixed
 * @author itbsl
 */
function curl_get($url, $header=[], $timeout=30) {

    //初始化curl
    $curl = curl_init();

    //設置curl(請求的服務器地址)
    //參數(shù)1: curl資源
    //參數(shù)2: 配置項名稱
    //參數(shù)3: 配置項的值
    curl_setopt($curl, CURLOPT_URL, $url);

    //跳過安全證書驗證
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);  // 從證書中檢查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  // 跳過證書檢查

    //設置獲取的信息以文件流的形式返回,而不是直接輸出
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);

    curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);

    //發(fā)出請求
    $result = curl_exec($curl);

    //關閉curl資源
    curl_close($curl);

    return $result;
}

cURL模擬post請求

/**
 * post方式發(fā)送curl請求
 * @param string $url   請求的服務器地址
 * @param array $data   要發(fā)送的數(shù)據
 * @param array $header 請求頭數(shù)據
 * @param int $timeout  超時時間
 * @return mixed
 * @author itbsl<itbsl@foxmail.com>
 */
function curl_post($url, $data=[], $header=[], $timeout=30) {

    //初始化curl
    $curl = curl_init();

    //設置curl(請求的服務器地址)
    //參數(shù)1: curl資源
    //參數(shù)2: 配置項名稱
    //參數(shù)3: 配置項的值
    curl_setopt($curl, CURLOPT_URL, $url);

    //跳過安全證書驗證
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);  // 從證書中檢查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  // 跳過證書檢查

    //設置獲取的信息以文件流的形式返回,而不是直接輸出
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);

    //設置請求方式為post請求
    curl_setopt($curl, CURLOPT_POST, true);

    //設置post方式提交時攜帶的數(shù)據
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

    curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);

    //發(fā)出請求
    $result = curl_exec($curl);

    //關閉curl資源
    curl_close($curl);

    return $result;
}

以上是curl模擬http請求的案例分析的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

AI