rubobaquero/luminati

Luminati服务通过并发HTTP/HTTPS请求的类

v1.0.2 2016-02-03 16:34 UTC

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:请求的URL
  • request_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);