vircom/http-parser

HTTP 请求和响应解析库

1.0.1 2020-05-05 05:40 UTC

This package is auto-updated.

Last update: 2024-09-05 15:23:45 UTC


README

Build Status Coverage Status Latest Stable Version Total Downloads License

本软件包提供了解析原始 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 文件