91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

PHP的curl功能擴展如何使用

發布時間:2020-04-01 16:03:13 來源:億速云 閱讀:103 作者:小新 欄目:編程語言

今天小編給大家分享的是PHP的curl功能擴展如何使用,很多人都不太了解,今天小編為了讓大家更加了解PHP的curl功能擴展,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。

PHP的curl功能提供了很多函數,需要將這些函數按特定的步驟組合到一起,我們先來了解下PHP建立curl請求的基本步驟。

$ch = curl_init(); // 創建一個新的CURL資源賦給變量$ch
curl_setopt($ch, CURLOPT_URL, $url); // 設置URL
$response = curl_exec($ch); // 執行,獲取URL并輸出到瀏覽器
curl_close($ch); // 釋放資源

如果我們希望獲取內容但不輸出,可以使用 CURLOPT_RETURNTRANSFER 參數,并設置其值為非0或者true值。

代碼如下:

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

我們可以通設置函數curl_setopt()的不同參數,可以獲得不同的結果,這也是CURL擴展的強大之處。curl_setopt()函數的常用參數選項具體可查閱官方文檔,此處就不列舉。

下面是我常用的curl get和post請求的方法:

get請求:

public function httpGet(string $url = '')
    {
        // 記錄請求信息的日志
        // todo
        
        try {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_TIMEOUT, 60);
            //https 請求
            if (strlen($url) > 5 && strtolower(substr($url, 0, 5)) == "https") {
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            }
            $response = curl_exec($ch);
            $errorCode = curl_errno($ch);
            curl_close($ch);
            if (!empty($errorCode)) {
                // 可記錄錯誤碼日志
                return null;
            }
            // 記錄返回結果日志
            return $response;
        } catch (\Exception $e) {
            $errorLog = [
                'msg' => $e->getMessage(),
                'trace' => $e->getTraceAsString(),
                'data' => [
                    'url' => $url,
                ]
            ];
            // 記錄錯誤日志
            return null;
        }
    }
```php

POST請求:

public function httpPost(string $url = '', array $data = [])
{
        // 記錄請求信息的日志
        // todo
    try {
        $jsonData = json_encode($data);
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonData);
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl, CURLOPT_TIMEOUT, 60);
        curl_setopt($curl, CURLOPT_HTTPHEADER, [
            'Content-Type: application/json; charset=utf-8',
            'Content-Length:' . strlen($jsonData)
        ]);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        //https 請求
        if (strlen($url) > 5 && strtolower(substr($url, 0, 5)) == "https") {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        }
        $result = curl_exec($curl);
        $errorCode = curl_errno($curl);
        curl_close($curl);
        if (!empty($errorCode)) {
            // 可記錄錯誤碼日志
            return null;
        }
        // 記錄返回結果日志
        return json_decode($result, true);
    } catch (\Exception $e) {
        $errorData = [
            'msg' => $e->getMessage(),
            'trace' => $e->getTraceAsString(),
            'data' => [
                'url' => $url,
                'postData' => $data
            ]
        ];
        // 記錄錯誤日志
        return null;
    }
}

關于PHP的curl功能擴展如何使用就分享到這里了,當然并不止以上和大家分析的辦法,不過小編可以保證其準確性是絕對沒問題的。希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細節

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

php
AI

浦县| 博爱县| 荔波县| 富裕县| 高安市| 星子县| 兴宁市| 资溪县| 阿鲁科尔沁旗| 苗栗县| 汶川县| 砚山县| 汤阴县| 鹤岗市| 云安县| 葫芦岛市| 双柏县| 彭泽县| 浦县| 平遥县| 茌平县| 丹巴县| 宁城县| 固镇县| 阳新县| 嵩明县| 雅江县| 麻江县| 安塞县| 海原县| 岐山县| 梁河县| 会理县| 镇平县| 高邮市| 遵化市| 元江| 信宜市| 上犹县| 隆化县| 灵武市|