https://github.com/serbanghita/http-client
Basic HTTP client used for talking with APIs.
https://github.com/serbanghita/http-client
Last synced: about 2 months ago
JSON representation
Basic HTTP client used for talking with APIs.
- Host: GitHub
- URL: https://github.com/serbanghita/http-client
- Owner: serbanghita
- Created: 2014-12-02T16:43:53.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2015-01-24T11:42:13.000Z (over 10 years ago)
- Last Synced: 2025-04-11T04:35:52.853Z (6 months ago)
- Language: PHP
- Homepage:
- Size: 379 KB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Generic HTTP Client
===================
> A basic HTTP client used for talking with APIs.[](https://travis-ci.org/serbanghita/http-client)
[](https://coveralls.io/r/serbanghita/http-client)
[](https://codeclimate.com/github/serbanghita/http-client)
[](https://scrutinizer-ci.com/g/serbanghita/http-client/?branch=master)### Example
```php
$transport = new \HttpClient\Transport\Socks();
$transport->setHost('http-client.serbang');try {
$transport->connect();
$transport->request()->setPath('/tests/providers/response/text-chunked.php');
$transport->request()->setBody(generateRandomString(10));
$transport->request()->headers()->add('Connection', 'keep-alive');
$transport->request()->headers()->add('Content-type', 'application/json');
$transport->send();
$transport->read();
$transport->close();// Debug.
echo "\n" . '---Begin Headers Body---' . "\n";
var_dump($transport->getResponse()->getHeaders());
echo "---End Headers Body---\n";
echo "\n" . '---Begin Response Body---' . "\n";
var_dump($transport->getResponse()->getBody());
echo "---End Response Body---\n";} catch (\HttpClient\Transport\Exception\Exception $e) {
var_dump($e->getCode());
var_dump($e->getMessage());
} catch (\HttpClient\Transport\Exception\RuntimeException $e) {
var_dump($e->getCode());
var_dump($e->getMessage());
}
```External references:
* https://github.com/reactphp/socket/blob/master/src/Connection.php
* https://github.com/stage1/docker-php/blob/master/src/Docker/Http/Adapter/DockerAdapter.php
* https://github.com/zendframework/zf2/blob/master/library/Zend/Http/Client/Adapter/Socket.php
* http://stackoverflow.com/questions/10449540/reading-data-from-fsockopen-using-fgets-fread-hangs