1. Go to this page and download the library: Download weijiajia/ip-proxy-manager library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
weijiajia / ip-proxy-manager example snippets
use Weijiajia\IpProxyManager\Stormproxies\StormConnector;
use Weijiajia\IpProxyManager\HuaSheng\HuaShengConnector;
use Weijiajia\IpProxyManager\HuaSheng\Requests\ExtractRequest;
use Weijiajia\IpProxyManager\HuaSheng\Dto\ExtractDto;
use Psr\Log\LoggerInterface;
//构建一个花生代理连接器
$connector = new HuaShengConnector();
$logger = new YourLoggerImplementation(); // 替换为您的实际日志实现
//设置日志
$connector->withLogger($logger);
//构建请求数据
$dto = new ExtractDto([
'app_key' => 'your_app_key_here',
'num' => 1,
'protocol' => 'http',
]);
//构建请求
$request = new ExtractRequest($dto);
//获取代理数据
$response = $connector->send($request);
/**
* @var Collection $proxyList
*/
$proxyList = $dto->getProxyList();
foreach ($proxyList as $proxy) {
/**
* @var ProxyResponse $proxy
*/
echo "Proxy: {$proxy->host}:{$proxy->port} {$proxy->expireTime}\n";
}
use Weijiajia\IpProxyManager\Stormproxies\StormConnector;
use Weijiajia\IpProxyManager\HuaSheng\HuaShengConnector;
use Weijiajia\IpProxyManager\Stormproxies\DTO\AccountPasswordDto;
use Weijiajia\IpProxyManager\Stormproxies\Requests\AccountPasswordRequest;
use Weijiajia\IpProxyManager\Stormproxies\Requests\DynamicRequest;
use Weijiajia\IpProxyManager\Stormproxies\StormConnector;
use Psr\Log\LoggerInterface;
//构建一个花生代理连接器
$connector = new StormConnector();
$logger = new YourLoggerImplementation(); // 替换为您的实际日志实现
//设置日志
$connector->withLogger($logger);
//账号密码模式
$dto = new AccountPasswordDto([
'username' => 'your_username',
'password' => 'your_password',
'host' => 'proxy_host',
]);
//构建请求
$request = new AccountPasswordRequest($dto);
$response = $connector->send($request);
//提取模式
$dto = new DynamicDto([
'app_key' => 'your_app_key_here',
]);
$request = new DynamicRequest($dto);
$response = $connector->send($request);
/**
* @var Collection $proxyList
*/
$proxyList = $dto->getProxyList();
foreach ($proxyList as $proxy) {
echo "Proxy: {$proxy->host}:{$proxy->port}\n";
}
// src/NewProxy/NewProxyConnector.php
namespace Weijiajia\IpProxyManager\NewProxy;
use Weijiajia\IpProxyManager\ProxyConnector;
class NewProxyConnector extends ProxyConnector
{
protected function resolveBaseUrl(): string
{
return 'https://api.newproxy.com';
}
}
// src/NewProxy/Dto/GetProxyDto.php
namespace Weijiajia\IpProxyManager\NewProxy\Dto;
use Weijiajia\IpProxyManager\BaseDto;
class GetProxyDto extends BaseDto
{
public string $apiKey;
public int $count;
}
// src/NewProxy/Requests/GetProxy.php
namespace Weijiajia\IpProxyManager\NewProxy\Requests;
use Saloon\Enums\Method;
use Saloon\Http\Request;
use Weijiajia\IpProxyManager\NewProxy\Dto\GetProxyDto;
class GetProxyRequest extends Request
{
protected Method $method = Method::GET;
public function __construct(protected GetProxyDto $dto)
{
}
public function resolveEndpoint(): string
{
return '/getproxy';
}
protected function defaultQuery(): array
{
return [
'api_key' => $this->dto->apiKey,
'count' => $this->dto->count,
];
}
}
// 使用示例
use Weijiajia\IpProxyManager\NewProxy\NewProxyConnector;
use Weijiajia\IpProxyManager\NewProxy\Dto\GetProxyDto;
use Weijiajia\IpProxyManager\NewProxy\Requests\GetProxy;
$connector = new NewProxyConnector();
$connector->withLogger(new YourLoggerImplementation());
$dto = new GetProxyDto([
'apiKey' => 'your_api_key_here',
'count' => 5,
]);
$request = new GetProxyRequest($dto);
$response = $connector->send($request);
$proxyList = $dto->getProxyList();
foreach ($proxyList as $proxy) {
echo "NewProxy: {$proxy->host}:{$proxy->port}\n";
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.