endpot / php-rest-proxy
基于guzzle的php rest代理脚本
v1.0.1
2018-10-31 00:55 UTC
Requires
Requires (Dev)
- phpunit/phpunit: ^5
This package is auto-updated.
Last update: 2024-09-25 14:46:40 UTC
README
关于
该项目旨在利用基于Guzzle的PHP rest代理。到目前为止,该脚本对大多数常见请求方法(GET/POST/PUT/DELETE/OPTIONS)都运行良好。当使用POST方法提交数据且内容类型为multipart/form-data时,由于PHP的特性,无法从php://input中获取原始数据,脚本会解析POST和FILES数组生成MultipartStream,然后进行转发。该脚本还支持简单的中间件,可以在请求转发前后进行处理。
关于
该项目基于Guzzle实现请求的转发,包括但不限于GET/POST/PUT/DELETE/OPTIONS等方法。当请求方法为POST,且内容类型为multipart/form-data时,由于PHP的特性,从php://input中获取不到原始的数据,脚本会解析POST和FILES数组生成MultipartStream,再进行转发。该脚本还支持简单的中间件,分别作用于请求转发前后,对请求和响应进行处理。
安装
使用composer安装
composer require endpot/php-rest-proxy
示例
// create proxy instance $proxy = new \Proxy\Proxy(); // set target url $targetUrl = 'http://httpbin.org/'; // create psr7 request based on the global parameters $request = $proxy->fromGlobals(); // add middlewares // forward request to target $response = $proxy->addMiddleware('ExampleMiddleware') ->forward($request) ->to($targetUrl); // get and show the response echo $response->getBody();
许可证
这是开源软件,采用MIT许可证。