欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

CURL的學(xué)習(xí)和應(yīng)用(附多線程實(shí)現(xiàn))_PHP教程

編輯Tag賺U幣

推薦:php魔術(shù)方法與魔術(shù)變量、內(nèi)置方法與內(nèi)置變量的深入分析
本篇文章是對php魔術(shù)方法與魔術(shù)變量、內(nèi)置方法與內(nèi)置變量進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

curl安裝:

windows下面的安裝
:修改php.ini文件的設(shè)置,找到php_curl.dll
//取消下在的注釋extension=php_curl.dll
linux下面安裝:

復(fù)制代碼 代碼如下:www.ghpqjb.com

# wget http://curl.haxx.se/download/curl-7.17.1.tar.gz
# tar zxvf curl-7.17.1.tar.gz //解壓
#cd curl-7.17.1
# ./configure –prefix=/usr/local/curl
# make
# make install


這是安裝php之前安裝的方法.
***************************phpinf查看是否加載成功!
使用curl的POST數(shù)據(jù)飛信接口
用curl 寫了飛信接口吧,網(wǎng)上有很多,這里只是做個測試
復(fù)制代碼 代碼如下:www.ghpqjb.com

$username = 13800138000;
$password = 123456;
$sendto = 13912345678;
$message = "測試一個試試看!";
$curlPost = 'username='.urlencode($username).'&password='.urlencode($password).'&sendto='.urlencode($sendto).'&message='.urlencode($message).'';
$ch = curl_init();//初始化curl
curl_setopt($ch,CURLOPT_URL,'http://sms.api.bz/fetion.php');//抓取指定網(wǎng)頁
curl_setopt($ch, CURLOPT_HEADER, 0);//設(shè)置header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求結(jié)果為字符串且輸出到屏幕上
curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);//運(yùn)行curl
curl_close($ch);
print_r($data);//輸出結(jié)果


返回的結(jié)果是:短信已提交到發(fā)送隊(duì)列!
飛信接口的地址是http://sms.api.bz/
飛信接口模式:
http://sms.api.bz/fetion.php?username=您的移動飛信登錄手機(jī)號
&password=您的移動飛信登錄密碼
&sendto=接收短信的飛信好友手機(jī)號
&message=短信內(nèi)容
格式:http://sms.api.bz/fetion.php?username=13800138000&password=123456&sendto=13912345678&message=短信內(nèi)容
注意要保持utf-8格式的,這點(diǎn)我犯錯了

總結(jié)一下使用curl方法:

初始化curl

使用curl_setopt設(shè)置目標(biāo)url,和其他選項(xiàng),這些選項(xiàng)方法詳細(xì)參考:

curl_exec,執(zhí)行curl

執(zhí)行后,關(guān)閉curl
最后一步就是輸出
一個最要的curl函數(shù):curl_getinfo
curl_getinfo ( resource $ch [, int $opt = 0 ] )

復(fù)制代碼 代碼如下:www.ghpqjb.com

<?php
/*curl實(shí)例
*/
$curl = curl_init();
// 設(shè)置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com');
// 設(shè)置header
curl_setopt($curl, CURLOPT_HEADER, 0);
// 設(shè)置cURL 參數(shù),要求結(jié)果保存到字符串中還是輸出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 運(yùn)行cURL,請求網(wǎng)頁
$data = curl_exec($curl);
if($data === false){
echo curl_error($curl);exit;
}
$info = curl_getinfo($curl);
// 關(guān)閉URL請求
curl_close($curl);

// 顯示獲得的數(shù)據(jù)
var_dump($info);
var_dump($data);



可以返回:

URLINFO_EFFECTIVE_URL – 最后一個有效的URL地址
CURLINFO_HTTP_CODE – 最后一個收到的HTTP代碼
CURLINFO_FILETIME – 遠(yuǎn)程獲取文檔的時間,如果無法獲取,則返回值為“-1”
CURLINFO_TOTAL_TIME – 最后一次傳輸所消耗的時間
CURLINFO_NAMELOOKUP_TIME – 名稱解析所消耗的時間
CURLINFO_CONNECT_TIME – 建立連接所消耗的時間
CURLINFO_PRETRANSFER_TIME – 從建立連接到準(zhǔn)備傳輸所使用的時間
CURLINFO_STARTTRANSFER_TIME – 從建立連接到傳輸開始所使用的時間
CURLINFO_REDIRECT_TIME – 在事務(wù)傳輸開始前重定向所使用的時間
CURLINFO_SIZE_UPLOAD – 上傳數(shù)據(jù)量的總值
CURLINFO_SIZE_DOWNLOAD – 下載數(shù)據(jù)量的總值
CURLINFO_SPEED_DOWNLOAD – 平均下載速度
CURLINFO_SPEED_UPLOAD – 平均上傳速度
CURLINFO_HEADER_SIZE – header部分的大小
CURLINFO_HEADER_OUT – 發(fā)送請求的字符串
CURLINFO_REQUEST_SIZE – 在HTTP請求中有問題的請求的大小
CURLINFO_SSL_VERIFYRESULT – 通過設(shè)置CURLOPT_SSL_VERIFYPEER返回的SSL證書驗(yàn)證請求的結(jié)果
CURLINFO_CONTENT_LENGTH_DOWNLOAD – 從Content-Length: field中讀取的下載內(nèi)容長度
CURLINFO_CONTENT_LENGTH_UPLOAD – 上傳內(nèi)容大小的說明
CURLINFO_CONTENT_TYPE – 下載內(nèi)容的Content-Type:值,NULL表示服務(wù)器沒有發(fā)送有效的Content-Type: header

使用curl實(shí)現(xiàn)多線程

curl一般用來抓取網(wǎng)頁,第二種就是get或者post數(shù)據(jù),第三種應(yīng)用就是實(shí)現(xiàn)PHP的多線程任務(wù)
下面來實(shí)現(xiàn)多線程的

復(fù)制代碼 代碼如下:www.ghpqjb.com

<?php
/*
curl 多線程抓取
*/
/**
* curl 多線程
*
* @param array $array 并行網(wǎng)址
* @param int $timeout 超時時間
* @return array
*/
function Curl_http($array,$timeout){
$res = array();
$mh = curl_multi_init();//創(chuàng)建多個curl語柄
$startime = getmicrotime();
foreach($array as $k=>$url){
$conn[$k]=curl_init($url);

curl_setopt($conn[$k], CURLOPT_TIMEOUT, $timeout);//設(shè)置超時時間
curl_setopt($conn[$k], CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($conn[$k], CURLOPT_MAXREDIRS, 7);//HTTp定向級別
curl_setopt($conn[$k], CURLOPT_HEADER, 0);//這里不要header,加塊效率
curl_setopt($conn[$k], CURLOPT_FOLLOWLOCATION, 1); // 302 redirect
curl_setopt($conn[$k],CURLOPT_RETURNTRANSFER,1);
curl_multi_add_handle ($mh,$conn[$k]);
}
//防止死循環(huán)耗死cpu 這段是根據(jù)網(wǎng)上的寫法
do {
$mrc = curl_multi_exec($mh,$active);//當(dāng)無數(shù)據(jù),active=true
} while ($mrc == CURLM_CALL_MULTI_PERFORM);//當(dāng)正在接受數(shù)據(jù)時
while ($active and $mrc == CURLM_OK) {//當(dāng)無數(shù)據(jù)時或請求暫停時,active=true
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}

foreach ($array as $k => $url) {
curl_error($conn[$k]);
$res[$k]=curl_multi_getcontent($conn[$k]);//獲得返回信息
$header[$k]=curl_getinfo($conn[$k]);//返回頭信息
curl_close($conn[$k]);//關(guān)閉語柄
curl_multi_remove_handle($mh , $conn[$k]); //釋放資源
}

curl_multi_close($mh);
$endtime = getmicrotime();
$diff_time = $endtime - $startime;

return array('diff_time'=>$diff_time,
'return'=>$res,
'header'=>$header
);

}
//計算當(dāng)前時間
function getmicrotime() {
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}

//測試一下,curl 三個網(wǎng)址
$array = array(
"http://www.weibo.com/",
"http://www.renren.com/",
"http://www.qq.com/"
);
$data = Curl_http($array,'10');//調(diào)用
var_dump($data);//輸出

?>


關(guān)于do while的那段解釋:

因?yàn)?active要等全部url數(shù)據(jù)接受完畢才變成false,所以這里用到了curl_multi_exec的返回值判斷是否還有數(shù)據(jù),
當(dāng)有數(shù) 據(jù)的時候就不停調(diào)用curl_multi_exec,暫時沒有數(shù)據(jù)就進(jìn)入select階段,新數(shù)據(jù)一來就可以被喚醒繼續(xù)執(zhí)行。
這里的好處就是CPU的無謂 消耗沒有了。更詳細(xì)的說明:http://hi.baidu.com/%D4%C2%D2%B9%C4%FD%ED%F8/blog/item/9dfcf4fbe6b84374024f563d.html

這個多線程的寫法步驟:
第一步:調(diào)用curl_multi_init
第二步:循環(huán)調(diào)用curl_multi_add_handle
這一步需要注意的是,curl_multi_add_handle的第二個參數(shù)是由curl_init而來的子handle。
第三步:持續(xù)調(diào)用curl_multi_exec
第四步:根據(jù)需要循環(huán)調(diào)用curl_multi_getcontent獲取結(jié)果
第五步:調(diào)用curl_multi_remove_handle,并為每個字handle調(diào)用curl_close
第六步:調(diào)用curl_multi_close
多線程的測試效果圖:

總結(jié):36個http請求,從執(zhí)行的是時間順序上來看,三個網(wǎng)站的ip交叉,說明是同時并發(fā)的!
—————————————————————————
linux命令下的curl
幾種常見的使用方式:
下載作用:
直接下載 相當(dāng)于wget
curl -o 1.jpg http://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG
批量下載screen1.JPG–screen10.JPG
curl -O http://cgi2.tky.3web.ne.jp/~zzh/screen[1-10].JPG
斷點(diǎn)下載
curl -c -O http://cgi2.tky.3wb.ne.jp/~zzh/screen1.JPG


反向代理功能
curl -x 123.45.67.89:1080 -o page.html http://www.yahoo.com
顯示頭文件
curl -I www.sina.com

分享:PHP flush()與ob_flush()的區(qū)別詳解
本篇文章是對PHP中的flush函數(shù)與ob_flush函數(shù)的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

來源:模板無憂//所屬分類:PHP教程/更新時間:2013-06-04
相關(guān)PHP教程
中国日韩欧美久久久久久久久| 肉肉av福利一精品导航| 亚洲欧美影音先锋| 欧美成人激情图片网| 17c丨国产丨精品视频| 国产性xxxx高清| 欧美综合一区| 亚洲一区二区在线免费观看视频| 97人洗澡人人免费公开视频碰碰碰| 十八禁视频网站在线观看| 国产精品视频久久久久久| 亚洲巨乳在线| 欧美日韩日本视频| 国产成人看片| 妖精视频在线观看免费| 精品成人自拍视频| 国产精品理论片在线观看| 久久久天堂国产精品女人| 国产免费人做人爱午夜视频| 99久久久无码国产精品免费| 久久精品综合| 精品少妇一区二区| 午夜精品一区二区在线观看 | 国产日韩精品一区二区三区 | 无码精品在线观看| 美女www一区二区| 亚洲成avwww人| 亚洲三区四区| 国产黄色片免费看| 综合视频在线| 欧美午夜电影一区| 精品一区二区不卡| 久久久久久国产精品视频| 成人短片线上看| 黑人精品xxx一区| 亚洲japanese制服美女| 国产精品免费无码| 日韩av中文字幕一区| 亚洲精品国产品国语在线app| 日韩美女视频在线观看| www.男人天堂| 亚洲欧洲国产精品一区| 亚洲欧洲三级电影| 国产精品久久久精品| 中文字幕一区二区久久人妻网站| 亚洲精品高潮| 亚洲男女毛片无遮挡| 国产欧美在线观看| 一级二级黄色片| 久久综合欧美| 欧美色视频日本版| 麻豆视频成人| 在线观看亚洲欧美| 亚洲尤物影院| 精品丝袜一区二区三区| 免费在线观看亚洲视频| 色偷偷在线观看| 成人av综合一区| 国内精品久久久久久久久| caopor在线| 国产毛片久久久| 亚洲国产欧美日韩另类综合| 国产高清精品一区二区| 久久精品这里有| 在线播放精品| 亚洲成人久久久久| 男人添女人下部高潮视频在观看| 人妻少妇精品无码专区久久| aaa国产一区| 欧美诱惑福利视频| 久久中文字幕人妻| 国产在线观看91一区二区三区| 色综合色综合色综合色综合色综合| 九九九九精品| 国产伦精品一区二区三区视频网站 | 欧美日韩在线视频一区| 蜜桃久久精品乱码一区二区| www.com国产| 蜜臀av性久久久久蜜臀aⅴ四虎| 这里精品视频免费| 色戒在线免费观看| 免费观看性欧美大片无片| 亚洲精品国产a| 国产九区一区在线| 加勒比在线一区| 久久国内精品视频| 大量国产精品视频| 亚洲精品中文字幕在线播放| 精品视频免费在线观看| 欧美夫妻性生活| 18黄暴禁片在线观看| 亚洲国产成人二区| 国产精品无遮挡| 91pron在线| 青青草av在线播放| 久久www免费人成看片高清| 欧美日韩不卡合集视频| 亚洲国产果冻传媒av在线观看| 欧洲杯什么时候开赛| 日韩视频在线你懂得| 日韩网址在线观看| 精品精品视频| 色综合视频在线观看| 2021国产视频| 成人免费网站www网站高清| 亚洲日本韩国一区| 久久国产精品一区二区三区| 国产一区二区三区成人| 92精品国产成人观看免费| 国产精品久久久久久五月尺| 黄色小视频在线免费看| 蜜桃久久久久久久| 91国产一区在线| 亚洲一级理论片| 亚洲影院免费| 欧美精品亚州精品| 天堂av网手机版| 中文高清一区| 美日韩精品免费观看视频| 黄色aaa视频| 亚洲午夜精品久久久久久app| 伊人久久久久久久久久久| 欧美图片自拍偷拍| 99视频精品全国免费| 精品亚洲一区二区三区四区五区| www.污污视频| 精品美女在线视频| 精品视频久久久久久久| 大尺度在线观看| 一区二区三区国产精华| 影音先锋欧美精品| 女~淫辱の触手3d动漫| 亚洲茄子视频| 欧美老少做受xxxx高潮| 亚洲熟女少妇一区二区| 老司机免费视频久久| 性色av一区二区咪爱| 日本天堂中文字幕| 韩国女主播成人在线观看| 国产成人综合精品| caoporn国产| 91啪九色porn原创视频在线观看| 岛国一区二区三区高清视频| 国产日韩精品suv| 中文字幕亚洲精品在线观看| 无码免费一区二区三区免费播放 | 伊人在线视频观看| 美腿丝袜亚洲三区| 国产精品国产亚洲伊人久久| 五月天婷婷导航| 久久久亚洲精品石原莉奈| 国内精品**久久毛片app| 亚洲第一色网站| 亚洲激情男女视频| 黄网站色视频免费观看| 136福利精品导航| 日韩欧美亚洲另类制服综合在线| 91视频福利网| 国产精品videossex久久发布| 欧美成人午夜激情| 黄页网站免费观看| 成人午夜电影久久影院| 动漫3d精品一区二区三区 | 国产福利91精品一区| 亚洲自拍另类欧美丝袜| 亚洲AV无码国产精品午夜字幕| 亚洲精品菠萝久久久久久久| 国产在线视频综合| 欧美三级午夜理伦三级小说| 国产午夜精品理论片a级探花| 欧美色图亚洲激情| 美女视频免费一区| 91中文字幕一区| 亚洲a视频在线| 性做久久久久久久久| 激情深爱综合网| 国产一区二区三区四区| 久久精品视频免费播放| 欧美精品一区二区成人| 99久久精品情趣| 日韩成人av电影在线| 香蕉久久一区| 日韩精品中文字幕一区| 噜噜噜在线视频| 免费看精品久久片| 粉嫩精品一区二区三区在线观看| 日本免费网站在线观看| 欧美丝袜丝交足nylons图片| ass极品水嫩小美女ass| 国产精品综合| 成人福利视频在线观看| 国产91麻豆视频| 欧美亚洲综合网| 美女日批在线观看| 日韩国产欧美视频| 97超碰人人看人人 | 国产成人精品自拍| 午夜欧美巨大性欧美巨大 | 亚洲开心激情网| 福利视频第一页| 成a人片国产精品| 视频一区免费观看| 久久久伦理片| 日韩视频在线免费观看| 日本在线视频免费| 国产精品美女久久久久aⅴ| 人妻无码一区二区三区四区| 欧美精品一区二区三区中文字幕| 欧美日韩国产999| 中文字幕在线观看高清| 亚洲一线二线三线视频| 奇米影音第四色| 亚洲精选91| 92国产精品久久久久首页 | 国产欧美在线| 亚洲一区二区三区乱码aⅴ| 欧美黄色网页| 精品少妇一区二区| 国产福利视频网站| 国产欧美一区视频| 欧美亚洲国产成人| 午夜国产精品视频| 国产精品欧美日韩一区二区| 天天色棕合合合合合合合| 91精品国产免费| 中文字幕在线观看免费高清 | 97在线免费观看| a级片免费观看| 欧美色网站导航| 国产精品扒开腿做爽爽| www.欧美色图| 国产亚洲精品久久久久久久| 婷婷综合在线| 国产精品久久久久久久久久久新郎 | 亚洲欧美日韩另类| 日本少妇久久久| 夜夜爽夜夜爽精品视频| 天堂av.com| 国产在线不卡一卡二卡三卡四卡| 色狠狠久久av五月综合| 精品国产乱码| 国产精品第三页| 欧美最新精品| 精品小视频在线| 国产成人亚洲精品自产在线| 香蕉加勒比综合久久 | 国产日产亚洲精品系列| av网站在线观看不卡| 国产精品日韩欧美一区| 精品视频一区在线| 亚洲精品播放| 国产91网红主播在线观看| 无人区在线高清完整免费版 一区二| 亚洲精品福利免费在线观看| 亚洲欧美在线视频免费| 精品人伦一区二区三区蜜桃网站| 艳妇乳肉豪妇荡乳xxx| 91亚洲精品一区二区乱码| 少妇高潮毛片色欲ava片| 国产精品日韩精品欧美精品| 欧美日韩精品免费在线观看视频| 国产欧美日韩视频在线| 国产精品久久久久久久app| 久久国内精品| 另类专区欧美制服同性| 国产激情视频在线播放| 亚洲成人精品av| 久久久久99精品成人片我成大片 | 国产精品99久久久久久成人| 一区二区三区日韩精品视频| yjizz视频| 久久精品亚洲一区二区三区浴池| 日本www.色| 激情综合五月婷婷| 成人在线免费观看视频网站| 亚洲青涩在线| 日本在线观看一区二区三区| 婷婷亚洲图片| 国产精品久久久久久久久久直播| 欧洲vs亚洲vs国产| 国产精品中文字幕在线| 日本一区二区乱| 91精品国产91久久久久| 日本成人福利| 色综合五月天导航| 手机看片久久| 欧美成人在线免费视频| 五月激情婷婷网| 综合136福利视频在线| 精品人妻少妇嫩草av无码专区| 日韩成人xxxx| 一区二区三区免费观看视频| 精品国产乱码久久久久久久久| 亚洲图片在线视频| 日韩欧美中文字幕精品| 欧美黄色一级大片| 日韩欧美国产wwwww| 日日夜夜狠狠操| 日韩欧美一区二区视频| 亚洲av综合一区| 日韩欧美视频在线| 99久久久无码国产精品免费蜜柚| 91精品国产综合久久婷婷香蕉| 好吊妞视频一区二区三区| 91精品国产乱| 精产国品一区二区| 精品欧美一区二区在线观看| www.五月婷婷.com| 精品va天堂亚洲国产| 中文字幕乱码中文字幕| 日韩av在线网站| 国产精品无码专区av免费播放| 日韩精品在线观看一区| 99久久国产免费| 一区二区三区国产在线观看| 人妻中文字幕一区| 久久精品中文字幕免费mv| 成人看片网页| 91av在线免费观看视频| 亚洲成人五区| 国产精品日日做人人爱 | 91精品久久久久久久久| 免费精品国产| 国产精品国产三级国产专区53 | 牛牛视频精品一区二区不卡| 成人激情黄色网| 国产麻豆精品久久| 精品国产二区在线| 精品91视频| 久久视频免费在线| 美国一区二区三区在线播放 | 国产一区二区三区日韩| www.这里只有精品| 久久久九九九九| 日本少妇xxxx| 亚洲福利一区二区三区| xxxx日本少妇| 欧美一区二区三区啪啪| 国产又粗又大又爽视频| 少妇高潮久久久久久潘金莲| 日本一区二区电影| 国产成人久久久精品一区| 亚洲自拍电影| 精品一区在线播放| 亚洲少妇一区| jizzjizz国产精品喷水| 不卡视频免费播放| 岛国精品资源网站| 欧美日韩精品在线播放| 久草手机在线观看| 日韩经典第一页| 成人性生活视频| 日本亚洲欧洲色| 欧美丝袜丝交足nylons172| 欧美日韩另类丝袜其他| 日本中文字幕一区二区视频| 九热视频在线观看| 中文字幕在线视频一区| 国产黄a三级三级| 日韩一二三区不卡| 黄频在线免费观看| 欧美一区亚洲一区| 日韩电影二区| 潘金莲一级淫片aaaaaa播放1| 国产精品白丝jk黑袜喷水| av在线天堂网| 欧美日韩一区二区在线播放| 久久久精品毛片| 久久精品福利视频| 日本成人精品| 国内外成人免费视频| 天堂一区二区在线| 超碰成人在线播放| 亚洲午夜在线观看视频在线| 国产又大又黑又粗免费视频| 亚洲精品一区在线观看香蕉| 97精品国产综合久久久动漫日韩| 国产日韩欧美视频| 欧美女人交a| 成人免费aaa| 国产欧美综合在线| 波多野结衣爱爱视频| 亚洲激情在线观看视频免费| 国产伊人久久| 99精品99久久久久久宅男| 亚洲影院在线| 天天色天天综合网| 欧美日韩国产中文精品字幕自在自线 | 午夜久久一区| jizzjizzxxxx| 亚洲天堂网中文字| 你懂的国产视频| 日韩视频免费看| 无码少妇一区二区三区| 国产又爽又黄ai换脸| 91原创在线视频| 国产第一页浮力| 亚洲免费成人av电影| 国产精品1区在线| 鲁丝一区鲁丝二区鲁丝三区|