xiaomi/galaxy-fds-sdk-php

一个可读的、可链式调用的、REST友好的PHP HTTP客户端

v1.0.2 2018-07-09 03:48 UTC

This package is not auto-updated.

Last update: 2024-09-18 19:14:15 UTC


README

Build Status Total Downloads

Httpful 是一个简单的PHP 5.3+ HTTP客户端库。它强调可读性、简单性和灵活性——基本上提供完成工作的功能和灵活性,并使这些功能易于使用。

功能

  • 支持可读的HTTP方法(GET、PUT、POST、DELETE、HEAD、PATCH和OPTIONS)
  • 自定义头
  • 自动“智能”解析
  • 自动有效载荷序列化
  • 基本认证
  • 客户端证书认证
  • 请求“模板”

预览

这里有一些可以激发你兴趣的东西。搜索包含“#PHP”的twitter API中的推文。为了好玩,包括一个简单的头。注意,库自动将响应解释为JSON(如果需要可以覆盖此设置)并将其解析为对象数组。

$url = "http://search.twitter.com/search.json?q=" . urlencode('#PHP');
$response = Request::get($url)
    ->withXTrivialHeader('Just as a demo')
    ->send();

foreach ($response->body->results as $tweet) {
    echo "@{$tweet->from_user} tweets \"{$tweet->text}\"\n";
}

安装

Phar

一个PHP归档(或.phar)文件可供下载。只需下载 .phar文件,将其放入您的项目中,就像包含任何其他php文件一样。 此方法适用于小型项目、一次性脚本和快速API黑客

include('httpful.phar');
$r = \Httpful\Request::get($uri)->sendIt();
...

Composer

Httpful遵循PSR-0规范,可以使用composer安装。只需将nategood/httpful添加到您的composer.json文件中。 Composer是PEAR的合理替代品。它非常适合在大型项目中管理依赖项

{
    "require": {
        "nategood/httpful": "*"
    }
}

从源代码安装

由于Httpful遵循PSR-0规范,您还可以简单地克隆Httpful存储库,并使用PSR-0兼容的自动加载器加载库,如Symfony的。或者您可以使用Httpful中包含的PSR-0兼容的自动加载器(只需require("bootstrap.php"))。

更多内容!

您可以查看Httpful着陆页以获取更多信息,包括许多示例和文档

贡献

Httpful强烈鼓励发送拉取请求。提交拉取请求时请

  • 所有拉取请求应针对dev分支(而不是master
  • 确保您的代码遵循编码规范
  • 请使用软制表符(四个空格)而不是硬制表符
  • 确保您为您的更改添加适当的测试覆盖率
  • 通过phpunit ./tests在测试目录中运行所有单元测试
  • 在适当的地方添加注释,并添加描述性的拉取请求消息

变更日志

0.2.17

  • 功能 PR #144 向Response类添加了额外的参数,以指定关于请求/响应的额外元数据(例如重定向次数)。

0.2.16

  • 功能 添加了对whenError的支持,以定义在发生错误时触发的自定义回调。这对于日志记录或覆盖默认error_log行为非常有用。

0.2.15

  • 功能 I #131 支持SOCKS代理

0.2.14

  • 功能 I #138 添加了XML请求构造的替代选项。在下一个主要版本中,这可能会取代旧版本。

0.2.13

  • 重构 I #121 在 curl 错误上抛出更具描述性的异常
  • 重构 I #122 在 Request 中进行更好的代理清理
  • 重构 I #119 更好地记录 Request::body 上的 mimeType 参数
  • 其他代码和测试清理

0.2.12

  • 重构 I #123 支持新的 curl 文件上传方法
  • 特性 I #118 5.4 HTTP 测试服务器
  • 修复 I #109 错别字
  • 修复 I #103 处理 strictSsl 模式下的 CURLOPT_SSL_VERIFYHOST

0.2.11

  • 修复 I #99 防止在 HEAD 请求上挂起

0.2.10

  • 修复 I #93 修复了内容长度设置不正确的情况

0.2.9

  • 特性 I #89 支持 multipart/form-data (即文件上传)! 感谢 @dtelaroli!

0.2.8

  • 修复 对拉取请求 86 的修复通知

0.2.7

  • 修复 I #86 在使用代理时移除 Connection Established 标头

0.2.6

  • 修复 I #85 内容长度为空的问题已解决

0.2.5

  • 特性 I #80 I #81 使用 useProxy 方法添加了代理支持。

0.2.4

  • 特性 I #77 设置超时(秒)的便捷方法 $req->timeoutIn(10);
  • 修复 I #75 I #78 检查是否使用摘要认证的 bug

0.2.3

  • 修复 覆盖默认的 Mime 处理程序
  • 修复 PR #73 解析 HTTP 状态码

0.2.2

  • 特性 添加解析 JSON 响应作为关联数组而不是对象的支持
  • 特性 更好地支持设置 Mime 处理程序的构造函数参数

0.2.1

  • 特性 PR #72 允许支持自定义 Accept 标头

0.2.0

  • 重构 PR #49 将标题拆分到自己的类中
  • 重构 PR #54 添加了更具体的异常
  • 修复 PR #58 修复了在空 XML 响应上抛出错误的问题
  • 特性 PR #57 添加了对摘要认证的支持

0.1.6

  • 通过重载 followRedirects(int max_redirects) 来设置最大重定向数的能力
  • 针对 Accepts 标头的符合标准修复
  • 通过 Composer 安装时的引导过程修复了 bug

0.1.5

  • 使用 DIRECTORY_SEPARATOR 常量 PR #33
  • PR #35
  • 将 response 的 raw_headers 属性参考添加到响应中。
  • 组合请求头并添加 raw_header 到 Request 对象中。
  • 修复了响应中存在错误的问题,并添加了更多注释以提高清晰度。
  • 固定头部解析,允许最小(仅状态行)以及根据RFC2616实际以CRLF结尾的头部。
  • 添加了完美的测试Accept头部,适用于所有可接受场景,详情见@b78e9e82cd9614fbe137c01bde9439c4e16ca323。
  • 添加了默认User-Agent头部
  • User-Agent: Httpful/0.1.5 + curl版本 + 服务器软件 + PHP版本
  • 要绕过此“默认”操作,只需在请求头部添加User-Agent即可,即使是空的User-Agent也足够了,我认为这已经足够简单了。
  • 完成了新增功能的测试单元。
  • 添加了phpunit覆盖率报告,并帮助phpunit更容易地定位测试。

0.1.4

  • 添加了对CSV处理的支持 PR #32

0.1.3

  • 在JsonParser和XmlParser中处理空响应

0.1.2

  • 添加了设置XMLHandler配置选项的支持
  • 添加了覆盖XmlHandler和注册自定义解析器的示例
  • 移除了httpful.php下载(已弃用,改为使用httpful.phar)

0.1.1

  • 修复了序列化默认情况和phpunit测试的Bug

0.1.0

  • 添加了对注册Mime处理器支持
  • 创建了必须由所有Mime处理器扩展的AbstractMimeHandler类型
  • 将解析/序列化逻辑从Request/Response类中提取出来,放入各自的MimeHandler类中
  • 添加了注册新Mime处理器以处理Mime类型的能力