glooby/http-client-bundle

Advanced http proxying

Installs: 330

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 2

Forks: 0

Type:symfony-bundle

0.1.1 2017-03-29 21:01 UTC

This package is auto-updated.

Last update: 2024-12-20 08:17:09 UTC


README

Requirements

  • PHP 5.6 or above
  • [Guzzle PHP Framework][guzzle] (included by composer)
  • Symfony 2.7 or above (including Symfony 3.x)

Installation

To install this bundle, run the command below and you will get the latest version by [Packagist][packagist].

composer require glooby/http-client-bundle dev-master

To use the newest (maybe unstable) version please add following into your composer.json:

{
    "require": {
        "glooby/http-client-bundle": "dev-master"
    }
}

Load bundle in AppKernel.php:

    public function registerBundles()
    {
        $bundles = [
            ...
            new Glooby\HttpClientBundle\GloobyHttpClientBundle(),
            ...
        ];
    }

Configuration

Configure in app/config/parameters.yml:

single

parameters:
...
    glooby.http.proxy: socks5://127.0.0.1:1080

file

parameters:
...
    glooby.http.proxy: /etc/proxyfile
$ cat /etc/proxy

socks5://127.0.0.1:1080

Supports single/multiple lines

multiple

parameters:
...
    glooby.http.proxy:
        - http://127.0.0.1:1081
        - socks5://127.0.0.1:1080
        - socks4://127.0.0.1:1082

mix

parameters:
...
    glooby.http.proxy:
        - socks5://127.0.0.1:1080
        - socks5://john:doe@127.0.0.1:1081
        - /etc/proxy1
        - /etc/proxy2

When providing multiple proxies a random one will be select each time creating a new client

Usage

$ip = $this->get('glooby.http.client')->get('http://api.ipify.org')->getBody();

Support

Supported proxy types

  • http
  • https
  • socks4
  • socks4a
  • socks5
  • socks5h

License

This bundle is released under the MIT license