国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語言 - PHP教程 - PHP curl批處理及多請求并發(fā)實現(xiàn)方法分析

PHP curl批處理及多請求并發(fā)實現(xiàn)方法分析

2019-09-12 11:58benben0729 PHP教程

這篇文章主要介紹了PHP curl批處理及多請求并發(fā)實現(xiàn)方法,結(jié)合實例形式分析了php curl并發(fā)請求處理相關(guān)操作技巧與注意事項,需要的朋友可以參考下

本文實例講述了PHP curl批處理及多請求并發(fā)實現(xiàn)方法。分享給大家供大家參考,具體如下:

在面試過程中遇到一個問題,加入一個一個網(wǎng)站訪問一次需要兩秒,我們?nèi)绾螌崿F(xiàn)在2秒左右請求三次?

面試官想問的就是如何使用curl并發(fā)處理請求

關(guān)于curl_multi_init()

一般來說,想到要用curl_multi_init()時,目的是要同時請求多個url,而不是一個一個依次請求,否則就要curl_init()了。

不過,在使用curl_multi的時候,你可能遇到cpu消耗過高、網(wǎng)頁假死等現(xiàn)象,可以看看《PHP使用curl_multi_select解決curl_multi網(wǎng)頁假死問題

使用curl_multi的步驟總結(jié)如下:

  • 第一步:調(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

各函數(shù)作用解釋:

curl_multi_init()
初始化一個curl批處理句柄資源。

curl_multi_add_handle()
向curl批處理會話中添加單獨的curl句柄資源。curl_multi_add_handle()函數(shù)有兩個參數(shù),第一個參數(shù)表示一個curl批處理句柄資源,第二個參數(shù)表示一個單獨的curl句柄資源。

curl_multi_exec()
解析一個curl批處理句柄,curl_multi_exec()函數(shù)有兩個參數(shù),第一個參數(shù)表示一個批處理句柄資源,第二個參數(shù)是一個引用值的參數(shù),表示剩余需要處理的單個的curl句柄資源數(shù)量。

curl_multi_remove_handle()
移除curl批處理句柄資源中的某個句柄資源,curl_multi_remove_handle()函數(shù)有兩個參數(shù),第一個參數(shù)表示一個curl批處理句柄資源,第二個參數(shù)表示一個單獨的curl句柄資源。

curl_multi_close()
關(guān)閉一個批處理句柄資源。

curl_multi_getcontent()
在設(shè)置了CURLOPT_RETURNTRANSFER的情況下,返回獲取的輸出的文本流。

curl_multi_info_read()
獲取當前解析的curl的相關(guān)傳輸信息。

示例代碼:

01<?php
02// 創(chuàng)建一對cURL資源
03$ch1 = curl_init();
04$ch2 = curl_init();
05// 設(shè)置URL和相應(yīng)的選項
06curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
07curl_setopt($ch1, CURLOPT_HEADER, 0);
08curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
09curl_setopt($ch2, CURLOPT_HEADER, 0);
10// 創(chuàng)建批處理cURL句柄
11$mh = curl_multi_init();
12// 增加2個句柄
13curl_multi_add_handle($mh,$ch1);
14curl_multi_add_handle($mh,$ch2);
15$running=null;
16// 執(zhí)行批處理句柄
17do {
18  usleep(10000);
19  curl_multi_exec($mh,$running);
20} while ($running > 0);
21// 關(guān)閉全部句柄
22curl_multi_remove_handle($mh, $ch1);
23curl_multi_remove_handle($mh, $ch2);
24curl_multi_close($mh);
25?>

獲取批處理后的結(jié)果:

PHP curl批處理及多請求并發(fā)實現(xiàn)方法分析

string curl_multi_getcontent ( resource $ch )

ch是由 curl_init() 返回的 cURL 句柄。

希望本文所述對大家PHP程序設(shè)計有所幫助。

延伸 · 閱讀

精彩推薦
881
主站蜘蛛池模板: 玖玖爱国产 | 激情国产视频 | 久久久精品在线观看 | 国产精品美女av | 伊人亚洲| 在线成人免费电影 | 中文字幕自拍偷拍 | 国产综合精品 | 欧美专区在线 | 黄色国产一级片 | 精品视频在线一区 | 久久综合九九 | 成人一区二区在线 | 伊人天天| 伊人精品成人久久综合软件 | ...99久久国产成人免费精品 | 欧美在线操 | 成人网av | 日韩视频在线一区二区 | 媚黑视频 | 成人久久久精品国产乱码一区二区 | 国产精品18久久久久久久久 | 亚洲精品乱码久久久久久金桔影视 | 亚洲综合大片69999 | 99国产视频 | 毛片免费播放 | 日韩精品一区二区三区在线观看 | 噜噜噜在线观看免费视频日本 | 毛片网站在线 | 亚洲国产精品成人 | 快色视频在线观看 | 欧美另类视频 | 亚洲热视频在线观看 | 91成人黄色 | 九色在线 | 国产成人精品免费视频大全最热 | 欧美精品1区2区3区 日本电影中文字幕 | 最新中文字幕 | 色噜噜狠狠狠综合曰曰曰88av | 好看毛片 | 在线一区二区免费 |