Requests 基于 PHP 简单方便的 HTTP 请求类

发布于 2020-12-10 20:35:13 字数 2650 浏览 1923 评论 0

Requests 是一个简单的类,用于 HTTP 的请求,简化你与其他网页交互的难度。

Requests::get('http://api.github.com/', array('Accept' => 'application/json'));

Requests 实现方式模仿于 Requests Python 库,除了 PHP 5.2+ 之外,没有任何依赖项。

尽管 PHP 作为 Web 语言使用,但其发送 HTTP 请求的工具仍然严重缺乏。curl 工具至少可以说能用,你不能总是依赖它的存在。套接字只提供低级别访问,并要求您自己构建大部分 HTTP 响应和解析。

我们都有更好的事情要做。这就是 Requests 产生的原因。

$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);

var_dump($request->status_code);
// int(200)

var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"

var_dump($request->body);
// string(26891) "[...]"

Requests 允许您发送 HEAD, GET, POST, PUT, DELETE, 和 PATCH 类型的请求,可以使用简单数组添加请求头、表单数据、多部分文件和参数,并以同样的方式访问响应数据。请求使用 curl 和 fsockopen,这取决于您的系统有什么可用,但是抽象出所有讨厌的东西,提供一致的 API。

特征

  • 支持国际域名和网址
  • 浏览器式的 ssl 验证
  • 基本 / 摘要认证
  • 自动解压
  • 设置连接超时

安装

使用 Composer 安装

如果你用 Composer 管理依赖项,可以使用它添加请求。

{
  "require": {
    "rmccue/requests": ">=1.0"
  }
}

从 GitHub 安装源代码

若要安装源代码,请执行以下操作:

$ git clone git://github.com/rmccue/Requests.git

并将其包含在脚本中:

require_once '/path/to/Requests/library/Requests.php';

您可能还想注册一个自动加载程序:

Requests::register_autoloader();

从 zip/tarball 安装源代码

或者,您可以获取一个 tarball 或 zipball:

$ curl -L https://github.com/rmccue/Requests/tarball/master | tar xzv
(or)
$ wget https://github.com/rmccue/Requests/tarball/master -O - | tar xzv

使用类装载机

如果您使用的是类加载器,例如 Symfony Class Loader 类别装载方式:

$loader->registerPrefix('Requests', 'path/to/vendor/Requests/library');

更多使用文档:https://github.com/rmccue/Requests/blob/master/docs/README.md

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84935 人气
更多

推荐作者

待"谢繁草

文章 0 评论 0

战皆罪

文章 0 评论 0

子英

文章 0 评论 0

爱的十字路口

文章 0 评论 0

孤者何惧

文章 0 评论 0

xi霄xi

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击“接受”或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。