rubobaquero / luminati
Luminati服务通过并发HTTP/HTTPS请求的类
v1.0.2
2016-02-03 16:34 UTC
Requires
- php: >=5.4
- marcushat/rolling-curl-x: *
This package is auto-updated.
Last update: 2024-09-13 11:42:52 UTC
README
使用curl_multi通过Luminati服务(Luminati服务)进行HTTP / HTTPS并发请求的库。
您至少需要一个免费的 Luminati试用账户。
安装
使用composer安装
composer require rubobaquero/luminati
使用方法
使用用户名、密码和可选区域(默认为gen)实例化Luminati对象
$luminati = new Luminati($username,$password,"gen");
准备一个包含几个请求的数组。每个请求由以下键定义的数组定义
url
(必需):请求的URL。callback
(必需):将被调用的回调函数,该函数将使用CURL请求的结果。options
(可选):请求的CURL选项。user_data
(可选):您希望传递给回调函数的参数信息。country
(可选):请求的ISO国家代码。session
(可选):Luminati会话。如果您想使用相同的出口节点进行请求,可以指定一个。如果没有设置,将生成一个随机值。
示例
$urls = array(); for($i=0;$i<10;$i++){ $urls[] = array( 'url' => 'https://www.wikipedia.org', 'options' => array( CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" ), 'callback' => 'callback_func', 'user_data' => array( 'some' => 'useful data' ), 'country' => 'es' ); }
然后,编写一个接受以下参数的回调函数
response
:响应正文url
:请求的URLrequest_info
:由curl_getinfo()提供的请求信息user_data
:请求的用户数据time
:请求的执行时间
示例
function callback_func($response, $url, $request_info, $user_data, $time){ echo "We have a response from $url"; }
最后,使用20秒的超时时间,进行5次并发请求
$luminati->make_requests($urls,5,20);