PHP CURL 多线程 GET/POST 类
来源:互联网 发布:st 8位单片机 编辑:程序博客网 时间:2024/04/29 18:59
来源:http://www.oschina.net/code/snippet_1475115_44902
<?php
/****************************************************************
PHP CURL 多线程 GET/POST
Email:szj1006@vip.qq.com/QQ:690204663
curl(array('url?get=data','url'),array('','post_data'));
*****************************************************************/
function
curl(
$urls
,
$post
) {
$queue
= curl_multi_init();
$map
=
array
();
foreach
(
$urls
as
$key
=>
$url
) {
$ch
= curl_init();
curl_setopt(
$ch
, CURLOPT_URL,
$url
);
curl_setopt(
$ch
, CURLOPT_TIMEOUT, 30);
curl_setopt(
$ch
, CURLOPT_RETURNTRANSFER, 1);
curl_setopt(
$ch
, CURLOPT_POSTFIELDS,
$post
[
$key
]);
curl_setopt(
$ch
, CURLOPT_HEADER, 0);
curl_setopt(
$ch
, CURLOPT_NOSIGNAL, true);
curl_multi_add_handle(
$queue
,
$ch
);
$map
[(string)
$ch
] =
$url
;
}
$responses
=
array
();
do
{
while
((
$code
= curl_multi_exec(
$queue
,
$active
)) == CURLM_CALL_MULTI_PERFORM) ;
if
(
$code
!= CURLM_OK) {
break
; }
while
(
$done
= curl_multi_info_read(
$queue
)) {
$error
= curl_error(
$done
[
'handle'
]);
$results
= curl_multi_getcontent(
$done
[
'handle'
]);
$responses
[
$map
[(string)
$done
[
'handle'
]]] = compact(
'error'
,
'results'
);
curl_multi_remove_handle(
$queue
,
$done
[
'handle'
]);
curl_close(
$done
[
'handle'
]);
}
if
(
$active
> 0) {
curl_multi_select(
$queue
, 0.5);
}
}
while
(
$active
);
curl_multi_close(
$queue
);
return
$responses
;
}
0 0
- PHP CURL 多线程 GET/POST 类
- php curl (get post)
- php curl post get
- php curl post和get
- php curl get和post
- php curl get post方法
- PHP curl的get、post类及实例
- php封装curl的post和get类
- 调整版PHP的CURL类(POST、GET、PUT、DELETE)
- php的curl实现get和post
- php的curl实现get和post
- php使用curl可以get 模拟post
- php的curl实现get和post
- PHP curl实现get,post和cookie
- PHP CURL模拟GET及POST函数
- PHP CURL模拟GET及POST函数
- php curl get/post 实例(含https)
- PHP curl get post 提交函数
- Swift中的闭包(Closures)
- Linux精讲——sudo命令
- C++所有类型的定义
- CharSequence接口
- 非极大值抑制(Non-maximum suppression)在物体检测领域的应用
- PHP CURL 多线程 GET/POST 类
- x的x次方等于10
- 研究生期间有关语音识别方面资料的收集
- SVPullToRefresh[第三方]下拉刷新上拉加载使用
- Java类加载器
- 有关上拉输入、下拉输入、推挽输出、开漏输出、复用开漏输出、复用推挽输出以及、浮空输入、模拟输入区别
- IPC 机制(三)
- ubuntu 安装完后需要做的事情
- PHP Curl多线程原理实例详解