Skip to content

buzzvsfaraday

MIT 11 2 1,924
8.4 thousand (month) Nov 11 2011 1.3.0(2024-09-23 13:16:34 ago)
5,927 8 60 MIT
Dec 19 2009 5.9 million (month) 2.14.1(2026-02-07 15:17:15 ago)

Buzz is a lightweight PHP library for issuing HTTP requests. It is built on top of the PHP curl extension and is designed to be easy to use and flexible.

While buzz isn't as feature rich as other clients it still supports http2 and is relatively easy to use.

Faraday is a Ruby gem that provides a simple and flexible interface for making HTTP requests. It allows you to create a Faraday connection object, which you can use to send requests and receive responses.

Faraday abstracts away the details of the underlying HTTP client library, so you can use it with different libraries such as Net::HTTP, HTTPClient, typhoeus and others.

Since Faraday can adapt many other HTTP clients it's very popular choice in web scraping.

Highlights


http2uses-curl

Example Use


```php use Buzz\Client\Curl; use Buzz\Message\Request; use Buzz\Message\Response; $client = new Curl(); // GET request $request = new Request('GET', 'http://httpbin.org/get'); $response = new Response(); $client->send($request, $response); echo $response->getContent(); //POST request $request = new Request('POST', '/api/resource', 'http://example.com'); $request->setContent(json_encode(['name' => 'John Doe'])); // we can also add headers or cookies: $request->addHeader('Content-Type: application/json'); $request->addHeader('Cookie: name=foobar'); $response = new Response(); $client->send($request, $response); echo $response->getContent(); // Buzz also supports http2 (see the 2.0 parameter) $response = $client->sendRequest( new Request('GET', 'https://http2.golang.org/serverpush', [], null, '2.0') ); ```
```ruby # GET requests response = Faraday.get('http://httpbingo.org') put response.status put response.headers put response.body # or use a persistent client session: conn = Faraday.new( url: 'http://httpbin.org/get', params: {param: '1'}, headers: {'Content-Type' => 'application/json'} ) # POST requests response = conn.post('/post') do |req| req.params['limit'] = 100 req.body = {query: 'chunky bacon'}.to_json end ```

Alternatives / Similar


Was this page helpful?