xiaomi / galaxy-fds-sdk-php
一个可读的、可链式调用的、REST友好的PHP HTTP客户端
v1.0.2
2018-07-09 03:48 UTC
Requires
- php: >=5.3
- symfony/class-loader: 2.5.5
This package is not auto-updated.
Last update: 2024-09-18 19:14:15 UTC
README
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
0.2.4
0.2.3
- 修复 覆盖默认的 Mime 处理程序
- 修复 PR #73 解析 HTTP 状态码
0.2.2
- 特性 添加解析 JSON 响应作为关联数组而不是对象的支持
- 特性 更好地支持设置 Mime 处理程序的构造函数参数
0.2.1
- 特性 PR #72 允许支持自定义 Accept 标头
0.2.0
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类型的能力