lancerhe / php-http
该包的最新版本(v1.1.0)没有提供许可证信息。
HTTP 请求和解析装饰器(易于扩展)。
v1.1.0
2016-08-21 04:06 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-09-05 14:56:09 UTC
README
HTTP 请求和解析装饰器(易于扩展)。
要求
PHP5.4.0 或更高版本
安装
创建或修改你的 composer.json
{
"require": {
"lancerhe/php-http": "1.1.0"
}
}
然后运行
$ php composer.phar install
用法
HTTP 请求
构建一个 HTTP 请求。
<?php require('./vendor/autoload.php'); $HttpRequest = new \LancerHe\Http\Request\Curl(); $HttpRequest->sendRequest("https://www.processon.com/notification/count", array('id' => 12)); var_dump( $HttpRequest->parseResponse() ); // result // string(24) "{"count":0,"goon":false}"
使用简单的加密装饰器构建 HTTP 请求。
<?php require('./vendor/autoload.php'); $HttpRequest = new \LancerHe\Http\Request\Curl(); $HttpRequest = new \LancerHe\Http\Request\Decorator\SimpleCrypt($HttpRequest); $HttpRequest->sendRequest("https://www.processon.com/notification/count", array('id' => 12)); var_dump( $HttpRequest->parseResponse() ); // result // array(2) { // 'count' => // int(0) // 'goon' => // bool(false) // }
使用文件日志装饰器构建 HTTP 请求。
<?php include 'php-http/vendor/autoload.php'; $HttpRequest = new \LancerHe\Http\Request\Curl(); $HttpRequest = new \LancerHe\Http\Request\Decorator\SimpleCrypt($HttpRequest); $HttpRequest = new \LancerHe\Http\Request\Decorator\LoggerFile($HttpRequest); $HttpRequest->sendRequest("https://www.processon.com/notification/count", array('id' => 12)); var_dump( $HttpRequest->parseResponse() );
查看日志在 /tmp/httprequest.log
tail -f /tmp/httprequest.log
============= [2015-08-25 05:49:10] >>>>>>>>>>>>
[request_header] => POST /notification/count HTTP/1.1
Host: www.processon.com
Accept: */*
Content-Length: 43
Content-Type: application/x-www-form-urlencoded
[request_url] => https://www.processon.com/notification/count
[request_body] => id=12&sign=59ac2f3791de95684e7b7592266480dc
[response_http_code] => 200
[response_body] => {"count":0,"goon":false}
HTTP 解析
构建一个 HTTP 解析。
<?php require('./vendor/autoload.php'); $HttpParse = new \LancerHe\Http\Parse\Sample("header=user&name=lancer"); $HttpParse->parse(); var_dump( $HttpParse->parse() ); // result // string(23) "header=user&name=lancer"
使用简单的加密构建 HTTP 解析。
$HttpParse = new \LancerHe\Http\Parse\Sample("user=Lancer&age=28&sign=0edd12427c5ccea50701bb95c8f2d8cf"); $HttpParse = new \LancerHe\Http\Parse\Decorator\SimpleCrypt($HttpParse); $HttpParse->parse(); var_dump( $HttpParse->parse() ); // result // array(2) { // 'user' => // string(6) "Lancer" // 'age' => // string(2) "28" // }
使用文件日志装饰器构建 HTTP 解析。
$HttpParse = new \LancerHe\Http\Parse\Sample("user=Lancer&age=28&sign=0edd12427c5ccea50701bb95c8f2d8cf"); $HttpParse = new \LancerHe\Http\Parse\Decorator\SimpleCrypt($HttpParse); $HttpParse = new \LancerHe\Http\Parse\Decorator\LoggerFile($HttpParse); $HttpParse->parse(); var_dump( $HttpParse->parse() );
查看日志在 /tmp/httpparse.log
array ( 'datetime' => '2015-08-25 18:05:38', 'origin' => 'user=Lancer&age=28&sign=0edd12427c5ccea50701bb95c8f2d8cf', 'decode' => array ( 'user' => 'Lancer', 'age' => '28', ), )
测试
只需运行 phpunit
phpunit -c phpunit.xml