stk2k/net-driver
Composer 安装命令:
composer require stk2k/net-driver
包简介
PHP network access library
README 文档
README
Description
NetDriver is a PHP library which provides sending HTTP requests.
Feature
- Pluggable. You can easily replace other HTTP access library if you want.
- Simple interfaces.
- Callback events. You can customize your request before it is exectuted. Also you can get detail logs in sending request.
- PSR-3 Logger acceptable.
- cURL/PHP(file_get_contents) net drivers are bundled.
Usage
- Create net driver object(CurlNetDriver or PhpNetDriver are available).
- Create handle from net driver object.
- Create request object(HttpGetRequst/HttpPostRequest/JsonPostRequest are available).
- Call sendRequest method of net driver object and receive response object.
Demo
Example 1: sending HTTP request by cURL
use Stk2k\NetDriver\Drivers\Curl\CurlNetDriver; $driver = new CurlNetDriver(); $request = new HttpGetRequest($driver, 'http://sazysoft.com/test/'); $handle = $driver->newHandle(); try{ $response = $driver->sendRequest($handle, $request); echo $response->getBody(); } catch(NetDriverException $e) { // error handling here }
Example 2: sending HTTP request by file_get_contents
use Stk2k\NetDriver\Drivers\Php\PhpNetDriver; $driver = new PhpNetDriver(); $request = new HttpGetRequest($driver, 'http://sazysoft.com/test/'); $handle = $driver->newHandle(); try{ $response = $driver->sendRequest($handle, $request); echo $response->getBody(); } catch(NetDriverExceptionInterface $e) { // error handling here }
Example 3: post request
$driver = new CurlNetDriver(); $request = new HttpPostRequest($driver, 'http://sazysoft.com/test/', ['foo' => 'bar', 'baz' => 'qux']); $handle = $driver->newHandle(); try{ $response = $driver->sendRequest($handle, $request); echo $response->getBody(); } catch(NetDriverExceptionInterface $e) { // error handling here }
Example 4: request callback
$driver = new CurlNetDriver(); $request = new HttpGetRequest($driver, 'http://sazysoft.com/test/'); $handle = $driver->newHandle(); try{ $driver->listen('request', function(HttpRequest $request){ $request->addHttpHeader('Content-Type', 'text/json'); // set content type to text/json return $request; // replace old request to new one }); $response = $driver->sendRequest($handle, $request); echo $response->getBody(); } catch(NetDriverExceptionInterface $e) { // error handling here }
Example 5: verbose callback
$driver = new CurlNetDriver(); $request = new HttpGetRequest($driver, 'http://sazysoft.com/test/'); $handle = $driver->newHandle(); try{ $driver->setVerbose(true); // curl netdriver can write debug info to output $driver->listen('verbose', function($strerr, $header, $output){ echo '----[ strerr ]----' . PHP_EOL; echo $strerr . PHP_EOL; echo '----[ header ]----' . PHP_EOL; echo $header . PHP_EOL; echo '----[ output ]----' . PHP_EOL; echo $output . PHP_EOL; }); $response = $driver->sendRequest($handle, $request); echo '----[ response ]----' . PHP_EOL; echo $response->getBody(); } catch(NetDriverExceptionInterface $e) { // error handling here }
Requirement
PHP 7.1 or later
Installing NetDriver
The recommended way to install NetDriver is through Composer.
composer require stk2k/net-driver
After installing, you need to require Composer's autoloader:
require 'vendor/autoload.php';
License
Author
Disclaimer
This software is no warranty.
We are not responsible for any results caused by the use of this software.
Please use the responsibility of the your self.
统计信息
- 总下载量: 310
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-05-19