s00d/guzzle-http-request
GHR
GHR is a simple Guzzle wrapper + multiple request + DomCrawler
Real documentation is in the works, but for now read the tests.
Installation
Require this package in your composer.json or install it by running:
composer require s00d/guzzle-http-request
To start using Laravel, add the Service Provider and the Facade to your config/app.php:
'providers' => [
// ...
s00d\GuzzleHttpRequest\GHRServiceProvider::class,
]
'aliases' => [
// ...
'GHR' => s00d\GuzzleHttpRequest\Facades\GHRFacade::class,
]
Publish the configurations
Run this on the command line from the root of your project:
php artisan vendor:publish
A configuration file will be publish to config/ghr.php
Basic Usage
use GHR;
...
Config::set('ghr.cookie_file', "/cookie/text.txt");
$request = GHR::createRequest()->setProxy('tcp://127.0.0.1:8080')->setRedirects(5)->setHttpErrors(false)->setTimeout(500);
$request->addHeader('user-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36');
$response = $request->setUrl('https://localhost')->setType('POST')->send();
$crawler = $response->getCrawler();
try{
$crawler->filter('.exit')->html();
print_r(Carbon::now()->toTimeString().": Client auth\n");
} catch(\Exception $e) {
print_r(Carbon::now()->toTimeString().": Client NOT auth\n");
}
$form = $crawler->selectButton('next')->form();
$form->setValues([
'user' => $user,
]);
$response->sendForm($form);
var_dump($response->getContents());
var_dump($response->getJson());
...
$response = GHR::createRequest()
->setMultipleFlowCount(10)
->setProxy('tcp://127.0.0.1:8080')
->removeDataParams()->addToQueue('/guzzle-test/get', 'GET', 0)
->setBody(['foo' => 'bar'], 'form_params')->addToQueue('/guzzle-test/post', 'POST', 1)
->setBody(['foo' => 'bar'], 'form_params')->addToQueue('/guzzle-test/put', 'PUT', 2)
->setBody(['foo' => 'bar'], 'form_params')->addToQueue('/guzzle-test/patch', 'PATCH', 3)
->setBody(['foo' => 'bar'], 'form_params')->addToQueue('/guzzle-test/delete'), 'DELETE', 4)
->multipleSend('form_params')->getMultiResp();
var_dump($response->responses()); // all responses
var_dump($response->errors());
var_dump($response->finished());
Related Packages
spondonit/zttp
A developer-experience focused HTTP client, optimized for most common use cases.
6,251
0
garbetjie/http-request-logger
A request logger that can log all incoming & outgoing requests and responses.
1,858
5
behamin/service-proxy
for proxy or sending requests to other services with useful utilities
2,229
10
Version History
| Version | Released | PHP | License |
|---|---|---|---|
| 1.0.56 | >=5.5.9 | MIT | |
| 1.0.55 | >=5.5.9 | MIT | |
| 1.0.54 | >=5.5.9 | MIT | |
| 1.0.53 | >=5.5.9 | MIT | |
| 1.0.52 | >=5.5.9 | MIT | |
| 1.0.51 | >=5.5.9 | MIT | |
| 1.0.49 | >=5.5.9 | MIT | |
| 1.0.48 | >=5.5.9 | MIT | |
| 1.0.47 | >=5.5.9 | MIT | |
| 1.0.46 | >=5.5.9 | MIT | |
| 1.0.45 | >=5.5.9 | MIT | |
| 1.0.44 | >=5.5.9 | MIT | |
| 1.0.43 | >=5.5.9 | MIT | |
| 1.0.42 | >=5.5.9 | MIT | |
| 1.0.41 | >=5.5.9 | MIT | |
| 1.0.40 | >=5.5.9 | MIT | |
| 1.0.39 | >=5.5.9 | MIT | |
| 1.0.38 | >=5.5.9 | MIT | |
| 1.0.37 | >=5.5.9 | MIT | |
| 1.0.36 | >=5.5.9 | MIT | |
| 1.0.35 | >=5.5.9 | MIT | |
| 1.0.34 | >=5.5.9 | MIT | |
| 1.0.33 | >=5.5.9 | MIT | |
| 1.0.32 | >=5.5.9 | MIT | |
| 1.0.31 | >=5.5.9 | MIT | |
| 1.0.30 | >=5.5.9 | MIT | |
| 1.0.29 | >=5.5.9 | MIT | |
| 1.0.28 | >=5.5.9 | MIT | |
| 1.0.27 | >=5.5.9 | MIT | |
| 1.0.26 | >=5.5.9 | MIT |
Showing the latest 30 of 50. See every release on Packagist