国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP CURL 多線程操作代碼實例

2024-05-04 23:35:13
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了PHP CURL 多線程操作代碼實例,本文直接給出實現代碼,需要的朋友可以參考下

使用方法:

 

 
  1. $urls = array("http://baidu.com""http://www.survivalescaperooms.com""http://google.com"); 
  2. $mp = new MultiHttpRequest($urls); 
  3. $mp->start(); 

 

 
  1. /* 
  2. * Curl 多線程類 
  3. * 使用方法: 
  4. * ======================== 
  5. $urls = array("http://baidu.com", "http://dzone.com", "http://google.com"); 
  6. $mp = new MultiHttpRequest($urls); 
  7. $mp->start(); 
  8. * ======================== 
  9. */ 
  10. class MultiHttpRequest { 
  11. public $urls = array(); 
  12. public $curlopt_header = 1; 
  13. public $method = "GET"
  14.  
  15. function __construct($urls = false) { 
  16. $this->urls = $urls
  17.  
  18. function set_urls($urls) { 
  19. $this->urls = $urls
  20. return $this
  21.  
  22. function is_return_header($b) { 
  23. $this->curlopt_header = $b
  24. return $this
  25.  
  26. function set_method($m) { 
  27. $this->medthod = strtoupper($m); 
  28. return $this
  29.  
  30. function start() { 
  31. if(!is_array($this->urls) or count($this->urls) == 0){ 
  32. return false; 
  33. $curl = $text = array(); 
  34. $handle = curl_multi_init(); 
  35. foreach($this->urls as $k=>$v){ 
  36. $curl[$k] = $this->add_handle($handle$v); 
  37.  
  38. $this->exec_handle($handle); 
  39. foreach($this->urls as $k=>$v){ 
  40. curl_multi_getcontent($curl[$k]); 
  41. echo $curl[$k]."/n"
  42. //$text[$k] = curl_multi_getcontent($curl[$k]); 
  43. //echo $text[$k], "/n/n"; 
  44. curl_multi_remove_handle($handle$curl[$k]); 
  45. curl_multi_close($handle); 
  46.  
  47. private function add_handle($handle$url) { 
  48. $curl = curl_init(); 
  49. curl_setopt($curl, CURLOPT_URL, $url); 
  50. curl_setopt($curl, CURLOPT_HEADER, $this->curlopt_header); 
  51. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
  52. curl_multi_add_handle($handle$curl); 
  53. return $curl
  54.  
  55. private function exec_handle($handle) { 
  56. $flag = null; 
  57. do { 
  58. curl_multi_exec($handle$flag); 
  59. while ($flag > 0); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 册亨县| 吕梁市| 鸡泽县| 锦州市| 岱山县| 黔西| 汨罗市| 黄大仙区| 丰都县| 抚顺县| 泗阳县| 资兴市| 巴青县| 府谷县| 若尔盖县| 荃湾区| 鹰潭市| 铁岭县| 安龙县| 图木舒克市| 拉孜县| 定陶县| 云浮市| 茶陵县| 通海县| 双城市| 社旗县| 文山县| 克拉玛依市| 壶关县| 尚志市| 北辰区| 山西省| 应用必备| 彰武县| 修水县| 壤塘县| 惠东县| 惠东县| 上栗县| 汾西县|