国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

PHP使用CURL詳解

yedf / 1081人閱讀

摘要:使用詳解是一個(gè)非常強(qiáng)大的開(kāi)源庫(kù),支持很多協(xié)議,包括等,我們使用它來(lái)發(fā)送請(qǐng)求。它給我們帶來(lái)的好處是可以通過(guò)靈活的選項(xiàng)設(shè)置不同的協(xié)議參數(shù),并且支持??梢愿鶕?jù)前綴是還是自動(dòng)選擇是否加密發(fā)送內(nèi)容。傳輸前準(zhǔn)備耗時(shí)。上傳內(nèi)容的長(zhǎng)度。

PHP使用CURL詳解


Curl是一個(gè)非常強(qiáng)大的開(kāi)源庫(kù),支持很多協(xié)議,包括HTTP、FTP、TELNET等,我們使用它來(lái)發(fā)送HTTP請(qǐng)求。它給我 們帶來(lái)的好處是可以通過(guò)靈活的選項(xiàng)設(shè)置不同的HTTP協(xié)議參數(shù),并且支持HTTPS。CURL可以根據(jù)URL前綴是“HTTP” 還是“HTTPS”自動(dòng)選擇是否加密發(fā)送內(nèi)容。

使用方法

使用CURL的PHP擴(kuò)展完成一個(gè)PHP的請(qǐng)求,一般分為四個(gè)步驟:

初始化Curl連接句柄

設(shè)置屬性選項(xiàng)

執(zhí)行獲取結(jié)果,處理異常

關(guān)閉Curl連接句柄

實(shí)例
/*get請(qǐng)求*/
function curlGet($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    if (($tmp = curl_exec($ch)) === false) {
        return false;
    }
    curl_close($ch);
    return $tmp;
}

/*post請(qǐng)求*/
function curlPost($url, $params) {
    $ssl = substr($url, 0, 8) == "https://" ? TRUE : FALSE;
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER,FALSE);
    curl_setopt($ch, CURLOPT_NOBODY, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
    curl_setopt($ch, CURLOPT_TIMEOUT, 120);
    curl_setopt($ch, CURLOPT_POST,TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
    if ($ssl){
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何證書(shū)
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); // 檢查證書(shū)中是否設(shè)置域名
    }
    if (($returnData = curl_exec($ch)) === false) {
        return false;
    }
    curl_close($ch);
    return $returnData;
}

說(shuō)明:

通過(guò)curl_init($url);初始化連句柄,也可以通過(guò)選項(xiàng)設(shè)置curl_setopt($ch, CURLOPT_URL, $url);參數(shù)為請(qǐng)求的地址

通過(guò)curl_setopt()設(shè)置連接的選項(xiàng),CURLOPT_RETURNTRANSFER 設(shè)置為1表示稍后執(zhí)行的curl_exec函數(shù)的返回是URL的返回字符串,而不是把返回字符串定向到標(biāo)準(zhǔn)輸出并返回TRUE;其他選項(xiàng)設(shè)置參考http://www.php.net/manual/en/...

($tmp = curl_exec($ch)獲取請(qǐng)求結(jié)果

curl_close($ch)釋放連接

獲取CURL的請(qǐng)求輸出參數(shù)

在curl_exec()函數(shù)執(zhí)行之后,可以使用curl_getinfo()函數(shù)獲取CURL請(qǐng)求輸出的相關(guān)信息,示例代碼如下:

curl_exec($ch);
$info = curl_getinfo($sh);

curl_getinfo()輸出是一個(gè)數(shù)組,包含以下數(shù)據(jù):

url:網(wǎng)絡(luò)地址。

content_type:內(nèi)容編碼。

http_code:HTTP狀態(tài)碼。

header_size:header的大小。

request_size:請(qǐng)求的大小。

filetime:文件創(chuàng)建的時(shí)間。

ssl_verify_result:SSL驗(yàn)證結(jié)果。

redirect_count:跳轉(zhuǎn)計(jì)數(shù)。

total_time:總耗時(shí)。

namelookup_time:DNS查詢耗時(shí)。

connect_time:等待連接耗時(shí)。

pretransfer_time:傳輸前準(zhǔn)備耗時(shí)。

size_uplpad:上傳數(shù)據(jù)的大小。

size_download:下載數(shù)據(jù)的大小。

speed_download:下載速度。

speed_upload:上傳速度。

download_content_length:下載內(nèi)容的長(zhǎng)度。

upload_content_length:上傳內(nèi)容的長(zhǎng)度。

starttransfer_time:開(kāi)始傳輸?shù)臅r(shí)間表。

redirect_time:重定向耗時(shí)。

curl_getinfo()函數(shù)還有一個(gè)可選擇參數(shù)$opt,通過(guò)這個(gè)參數(shù)可以設(shè)置一些常量,對(duì)應(yīng)到上術(shù)這個(gè)字段,如果設(shè)置了第二個(gè)參數(shù),那么返回的只有指定的信息。例如設(shè)置$opt為CURLINFO_TOTAL_TIME,則curl_getinfo()函數(shù)只返回total_time,即總傳輸消耗的時(shí)間

參考:

http://www.php.net/manual/zh/...

http://www.cnblogs.com/manong...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/22383.html

相關(guān)文章

  • PHP cURL請(qǐng)求詳解

    摘要:不支持多進(jìn)程,如果需要異步請(qǐng)求,非阻塞的方式,請(qǐng)選擇。時(shí)會(huì)發(fā)送請(qǐng)求,類(lèi)型為,是表單提交時(shí)最常見(jiàn)的一種。允許函數(shù)執(zhí)行的最長(zhǎng)秒數(shù)。設(shè)定請(qǐng)求中部分的內(nèi)容。常規(guī)的使用來(lái)請(qǐng)求,功能強(qiáng)大,使用方便,按需配置。 在PHP后端的開(kāi)發(fā)過(guò)程中,除了獲取數(shù)據(jù)庫(kù)的數(shù)據(jù)和處理數(shù)據(jù)的內(nèi)部邏輯,往往還需要請(qǐng)求其他服務(wù)器接口的數(shù)據(jù),我們一般有3種方式來(lái)獲取數(shù)據(jù),分別是: file_get_contents fsoc...

    paney129 評(píng)論0 收藏0
  • [轉(zhuǎn)]詳解PHP設(shè)置定時(shí)任務(wù)的實(shí)現(xiàn)方法

    摘要:服務(wù)器定時(shí)任務(wù)服務(wù)器定時(shí)任務(wù)需要你是獨(dú)立的服務(wù)器,或者是,總之就是對(duì)系統(tǒng)的配置有足夠的權(quán)限,虛擬空間就不要折騰這個(gè)方法了,因?yàn)槟銢](méi)有權(quán)限。 文章轉(zhuǎn)載自:?jiǎn)栒f(shuō)網(wǎng) ? 詳解PHP設(shè)置定時(shí)任務(wù)的實(shí)現(xiàn)方法地址:http://www.uedsc.com/php-timing-task.html 定時(shí)運(yùn)行任務(wù)對(duì)于一個(gè)網(wǎng)站來(lái)說(shuō),是一個(gè)比較重要的任務(wù),比如定時(shí)發(fā)布文檔,定時(shí)清理垃圾信息等,現(xiàn)在的網(wǎng)站大...

    lemon 評(píng)論0 收藏0
  • PHP編譯參數(shù)configure配置詳解(持續(xù)更新中)

    摘要:編譯參數(shù)使用在源代碼目錄中,該命令可以查看所有編譯參數(shù)以及對(duì)應(yīng)的英文解釋編譯參數(shù)說(shuō)明指定安裝目錄整合指定位置指定額外拓展配置歸放處文件夾打開(kāi)安全模式打開(kāi)的支持打開(kāi)對(duì)的支持打開(kāi)對(duì) 編譯參數(shù)-使用 ./configure -h在源代碼目錄中,該命令可以查看所有編譯參數(shù)以及對(duì)應(yīng)的英文解釋 編譯參數(shù)-說(shuō)明 --prefix=/opt/php //指定 ...

    hlcc 評(píng)論0 收藏0
  • PHP編譯參數(shù)configure配置詳解(持續(xù)更新中)

    摘要:編譯參數(shù)使用在源代碼目錄中,該命令可以查看所有編譯參數(shù)以及對(duì)應(yīng)的英文解釋編譯參數(shù)說(shuō)明指定安裝目錄整合指定位置指定額外拓展配置歸放處文件夾打開(kāi)安全模式打開(kāi)的支持打開(kāi)對(duì)的支持打開(kāi)對(duì) 編譯參數(shù)-使用 ./configure -h在源代碼目錄中,該命令可以查看所有編譯參數(shù)以及對(duì)應(yīng)的英文解釋 編譯參數(shù)-說(shuō)明 --prefix=/opt/php //指定 ...

    Lyux 評(píng)論0 收藏0
  • PHP實(shí)現(xiàn)并發(fā)請(qǐng)求

    摘要:不支持多線程模式和回調(diào)處理,因此內(nèi)部腳本都是同步阻塞式的,如果你發(fā)起一個(gè)的請(qǐng)求,那么程序就會(huì)阻塞,直到請(qǐng)求返回結(jié)果,才會(huì)繼續(xù)執(zhí)行代碼。參考資料手冊(cè)手冊(cè)預(yù)定義常量中實(shí)現(xiàn)多線程請(qǐng)求詳解每次使用同時(shí)并發(fā)多少請(qǐng)求合適簡(jiǎn)書(shū)多線程及原理 后端服務(wù)開(kāi)發(fā)中經(jīng)常會(huì)有并發(fā)請(qǐng)求的需求,比如你需要獲取10家供應(yīng)商的帶寬數(shù)據(jù)(每個(gè)都提供不同的url),然后返回一個(gè)整合后的數(shù)據(jù),你會(huì)怎么做呢? 在PHP中,最直觀...

    zhangfaliang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<