Laravel Guzzle 使用踩雷及指南

Posted akazwz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel Guzzle 使用踩雷及指南相关的知识,希望对你有一定的参考价值。

今天在使用Guzzle时遇到了几个问题,在这里记录一下。

1.报错HttpFoundationFactory not found

Class \'Symfony\\Bridge\\PsrHttpMessage\\Factory\\HttpFoundationFactory\' not found

遇到这个问题是因为Guzzle的使用是需要依赖这个包的,但是我们没有,解决方法非常直接:

composer require symfony/psr-http-message-bridge

如果之前没有使用镜像,那么问题就直接解决了,但是如果使用过镜像那就出现了第二个问题

2.添加依赖包时报错Could not find package

[InvalidArgumentException]
  Could not find package symfony/psr-http-message-br
  idge.

  Did you mean one of these?
      symfony/psr-http-message-bridge
      loophp/unaltered-psr-http-message-bridge-bundl
  e

出现这个问题的原因是因为使用镜像,解决办法非常直接:

composer config -g --unset repos.packagist



还可能会出现内存问题,解决方法如下:

php -d memory_limit=-1 `which composer` require symfony/psr-http-message-bridge
    • -

下面记录一下guzzle的基本用法:

//新建client配置base_uri,可以直接在这后面拼接比较方便
$client = new Client([
 \'base_uri\' => \'http://127.0.0.1:8000/\',
 \'timeout\' => 2.0
]);
try {
 return $client->request(\'GET\', \'/api/v4/alarms\', [
 \'auth\' => [\'admin\', \'public\']
 ]);
} catch (GuzzleException $e) {
 return array([
 \'msg\' => \'error\'
 ]);
}

以上是关于Laravel Guzzle 使用踩雷及指南的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.6模拟Guzzle响应

laravel 客户端 api 与 guzzle

对 API 的请求在 Postman 中有效,但在我尝试使用 laravel/guzzle 时无效

如何使用 Guzzle 和 Laravel 从 JSON 响应中提取单个数组值

Laravel + Guzzle + MailChimp - 400 错误请求

Laravel Guzzle Basic Auth成功返回空