DevCraft Документации
РазработкиAPI WrappersWebShare Proxy PHP WrapperGuides

Прокси 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";
}
$proxies->query()
    ->withFilter('country_code', ['US', 'DE'], FilterOperator::IN)
    ->withFilter('created_at', '2024-01-01', FilterOperator::GT)
    ->withOrderBy('-created_at', 'country_code')
    ->withSearch('residential');
OperatorAPI 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
  • DirectConnectionproxy_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

См. ProxyReplacementRequest, ReplacedProxyRequest.

На этой странице