gpt4 book ai didi

php - 用于 PHP 的简单但已建立/完整的 REST 客户端?

转载 作者:IT王子 更新时间:2023-10-29 00:05:07 25 4
gpt4 key购买 nike

我希望在 PHP 中实现 REST 客户端,并且之前一直在使用 CakePHP Webservice Behavior 的修改版本,这与我正在寻找的非常接近,但我不是在 Cake 上构建,所以它不在列表中。

我正在寻找一个 REST 客户端,它允许我发出基本的 REST 请求并取回请求的 header /正文。可选但需要的功能:

  • HTTP 基本身份验证
  • 跟随重定向
  • 退出并重新请求失败的请求

我已通读 other SO threads并找到了一堆无用的答案,主要包括“自己写,这并不难”或“使用 cURL”(即与前一个相同)或“这是一个可以做到的代码片段”(当然不是建立或稳健)。 This question是最有帮助的,但它有上面的内容,再加上两个 self-rolled libraries由他们的作者发布,非常基础,缺少上述一些功能,虽然他们可能会做到这一点,但很难像我希望的那样建立或维护。

该问题还链接到 Guzzle ,它有相反的问题 - 虽然功能强大且得到良好支持,但它似乎非常复杂,难以配置和设置,而且远远超出我的预期。

那么:有没有人知道一个已建立的 REST 客户端 PHP,它只执行 REST 请求,小而专注(我想一个,也许两个 PHP 文件),但被广泛使用和支持?我不是在寻找框架或 HTTP 使用方面的革命 - 只是一个库来执行基本的 REST 请求。我不想再次重新发明轮子,而且每天有成千上万(如果不是数百万)个 PHP 项目使用 REST,我很惊讶我还没有找到这样的东西。

有大量优质的 REST 服务器库可供使用——为什么 REST 客户端不可以呢?我基本上是在寻找类似 Tonic 的东西, 但作为客户。 Pest (从上面看)看起来结构精良,距离最近,但我很惊讶没有比这更成熟的东西。

最佳答案

Guzzle 中有很多高级功能,但我仍然认为您可以轻松地使用它来满足您的最低要求。

  1. 从他们的 GitHub 发布页面下载包含您需要的所有类的 phar 文件:https://github.com/guzzle/guzzle/releases
  2. 在您的应用程序中包含 phar 文件(这将为 Guzzle 配置自动加载器)
  3. 创建客户
  4. 将 ExponentialBackoffPlugin 附加到客户端
  5. 发送客户端请求

例子:

<?php

// Include the phar and register the autoloader
require 'guzzle.phar';

// Create a client for http://test.com (binding to a host is optional)
$client = new Guzzle\Http\Client('http://test.com');

// Attach the exponential backoff plugin to the client so that requests
// are retried automatically
$client->addSubscriber(Guzzle\Plugin\Backoff\BackoffPlugin::getExponentialBackoff());

// Create and send a GET request to grab the response
$response = $client->get('/foo.json')->send();

// Dump the JSON response data as an array
var_dump($response->json());

关于php - 用于 PHP 的简单但已建立/完整的 REST 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9304717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com