vircom / http-parser
HTTP 请求和响应解析库
1.0.1
2020-05-05 05:40 UTC
Requires
- php: ^7.4
- myclabs/php-enum: ^1.7
Requires (Dev)
- php-coveralls/php-coveralls: ^2.2
- phpstan/phpstan: ^0.12.19
- phpunit/phpunit: ^9.1
- symplify/easy-coding-standard: ^7.2
- vimeo/psalm: ^3.11
This package is auto-updated.
Last update: 2024-09-05 15:23:45 UTC
README
本软件包提供了解析原始 HTTP 请求和响应的实现。
先决条件
- PHP 7.4+
安装
使用 composer 安装
要使用 composer 安装 vircom/http-parser,请运行以下命令
$ composer require vircom/http-parser
您可以在以下链接找到此库:Packagist.
Composer 在 ./vendor/autoloader.php
处安装自动加载器。如果您在 PHP 脚本中使用 vircom/http-parser,请添加
require_once 'vendor/autoload.php';
用法
解析请求
use VirCom\HttpParser\HttpParserFactory; $request = "POST /cgi-bin/process.cgi HTTP/0.9\r\n" . "User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)\r\n" . "\r\n" . "exampleName1=exampleValue1&exampleName2=exampleValue2"; $parser = (new HttpParserFactory())->createRequestParser(); $result = $parser->parse($request);
解析响应
<?php require_once('vendor/autoload.php'); use VirCom\HttpParser\HttpParserFactory; $response = "HTTP/1.1 200 OK\r\n" . "Content-Type: application/json\r\n" . "\r\n" . "\r\n[" . " {\r\n" . " \"id\": 10,\r\n" . " \"name\": \"testName\",\r\n" . " \"color\": \"testColor\"\r\n" . " \"price\": \"testPrice\"\r\n" . " }\r\n" . "]"; $parser = (new HttpParserFactory())->createResponseParser(); $result = $parser->parse($response);
文档
请求
getStartLine()->getHttpMethod()
- 返回 HTTP 请求方法getStartLine()->getTargetRequest()
- 返回 HTTP 请求目标路径getStartLine()->getHttpVersion()
- 返回 HTTP 请求协议版本getHeaders()
- 返回 HTTP 请求头集合getHeaders()[n]->getName()
- 返回 HTTP 请求头名称getHeaders()[n]->getValues()
- 返回 HTTP 请求头值getBody()
- 返回 HTTP 请求体内容
响应
getStartLine()->getHttpVersion()
- 返回 HTTP 响应协议版本getStartLine()->getStatusCode()
- 返回 HTTP 响应状态码getStartLine()->getStatusText()
- 返回 HTTP 响应状态文本getHeaders()
- 返回 HTTP 请求头集合getHeaders()[n]->getName()
- 返回 HTTP 请求头名称getHeaders()[n]->getValues()
- 返回 HTTP 请求头值getBody()
- 返回 HTTP 请求体内容
关于
提交错误和功能请求
错误和功能请求在 GitHub 上跟踪
许可
Monolog 使用 MIT 许可证许可 - 有关详细信息,请参阅 LICENSE
文件