softonic/guzzle-proxy-middleware

This package allows you to use a proxy transparently in guzzle.

0.0.4 2023-11-22 16:37 UTC

This package is auto-updated.

Last update: 2024-04-22 17:49:37 UTC


README

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads Average time to resolve an issue Percentage of issues still open

This package provides middleware for guzzle for handling proxy connection using one of the following proxy services:

Installation

To install, use composer:

composer require softonic/guzzle-proxy-middleware

Usage

To use this middleware, you need to initialize it like:

For Proxy Bonanza:

$proxyManager = new ProxyManager(
    new ProxyBonanza(
        new GuzzleClient(),
        $cache, // A PSR-6 item pool cache.
        '<YOUR-USER-PACKAGE-ID>',
        '<YOUR-API-KEY>'
    )
);

For SSL Private Proxy:

$proxyManager = new ProxyManager(
    new SslPrivateProxy(
        new GuzzleClient(),
        $cache, // A PSR-6 item pool cache.
        '<YOUR-API-KEY>'
    )
);

And inject it to Guzzle with something like:

$stack = new HandlerStack();
$stack->setHandler(new CurlHandler());
$stack->push($proxyManager);
$guzzleClient = new GuzzleClient(['handler' => $stack]);

From now on every request sent with $guzzleClient will be done using a random proxy from your proxy list.

Testing

softonic/guzzle-proxy-middleware has a PHPUnit test suite and a coding style compliance test suite using PHP CS Fixer.

To run the tests, run the following command from the project folder.

$ docker-compose run test

To run interactively using PsySH:

$ docker-compose run psysh

License

The Apache 2.0 license. Please see LICENSE for more information.