Прокси v1.0.0
Proxy list, iterate, download, refresh, замены и connection strings.
Работа со списком прокси через App::Requests('Proxy'), фильтрами QueryBuilder, итерацией страниц и строками подключения (backbone / direct).
См. также: ProxyRequest, Proxy, QueryBuilder, FilterOperator.
Быстрый старт
<?php
require_once 'vendor/autoload.php';
use Devcraft\Webshare\Classes\App;
use Devcraft\Webshare\Enums\FilterOperator;
App::init();
/** @var \Devcraft\Webshare\Requests\ProxyRequest $proxies */
$proxies = App::Requests('Proxy');
$proxies->query()
->withFilter('mode', 'direct')
->withPageSize(25)
->withFilter('country_code', ['US', 'DE'], FilterOperator::IN);
$list = $proxies->getList();
foreach ($proxies->iterate() as $proxy) {
echo $proxy->getConnectionString(backbone: true), "\n";
}Фильтры, order, search
$proxies->query()
->withFilter('country_code', ['US', 'DE'], FilterOperator::IN)
->withFilter('created_at', '2024-01-01', FilterOperator::GT)
->withOrderBy('-created_at', 'country_code')
->withSearch('residential');| Operator | API syntax |
|---|---|
EQUAL | ?field=value |
IN | ?field__in=a,b |
GT / LT | ?field__gt= / __lt= |
CONTAINS | ?field__contains= |
Пагинация
- Вручную:
withPage/withStartingAfter/withPageSize - Автоматически:
iterate()илиPageIterator::items()(лимит страниц —ITERATE_MAX_PAGES, по умолчанию 100)
См. PageIterator.
Download и refresh
$token = App::Requests('DownloadToken')->get('proxy_list')->token;
$body = App::Requests('Proxy')->downloadList($token);
App::Requests('Proxy')->refresh();Пути с /download/ не кэшируются.
Connection strings
Proxy Connection — не REST-ресурс. Используйте Proxy::getConnectionString():
- BackboneConnection — через
p.webshare.ioс параметрами в username - DirectConnection —
proxy_address+portиз ProxyList
foreach ($proxies->iterate() as $proxy) {
echo $proxy->getConnectionString(backbone: true), "\n";
echo $proxy->getConnectionString(backbone: false), "\n";
}Замены прокси
App::Requests('ProxyReplacement')— list / retrieve / create (v3)App::Requests('ReplacedProxy')— list / download