Tp6使用GuzzleHttp访问http

Posted 风吹头蛋凉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tp6使用GuzzleHttp访问http相关的知识,希望对你有一定的参考价值。

前言

GuzzleHttp是什么?

简单的说,Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上,类似php本身的curl命令一样,访问域名,他比curl更加好用,适用场景:

  1. 需要访问别人接口的时候,比如微信登录,需要php访问微信拿到用户数据
  2. 访问另一个项目的接口

安装GuzzleHttp

到项目目录下使用composer安装

composer require guzzlehttp/guzzle

如果出现报错
Composer require 报错 Installation failed
请看大佬的操作,看这里

项目使用

use GuzzleHttp\\Client;
$ client =Client ();
$ response = $ client -> request ( 'GET' , 'https://api.github.com/repos/guzzle/guzzle' );

echo  $ response -> getStatusCode (); // 接口状态码
echo  $ response -> getHeaderLine ( 'content-type' ); // '应用程序/json; charset=utf8' 
echo  $ response -> getBody (); // 获取接口内容

设置查询参数

有多种方式来提供请求的查询字符串 你可以在请求的URI中设置查询字符串:

  1. 地址加参数
$response = $client->request('GET', 'http://httpbin.org?foo=bar');
  1. 使用数组
$client->request('GET', 'http://httpbin.org', [
    'query' => ['foo' => 'bar']
]);

提供的数组参数将会使用PHP的 http_build_query :

3.提供一个字符串作为 query 请求参数:

$client->request('GET', 'http://httpbin.org', ['query' => 'foo=bar']);

更多资料

1.更多需求去官方文档查看,有利于更好使用
https://guzzle-cn.readthedocs.io/zh_CN/latest/quickstart.html

以上是关于Tp6使用GuzzleHttp访问http的主要内容,如果未能解决你的问题,请参考以下文章

tp6多应用多入口

guzzlehttp/guzzle

ThinkPHP6多应用下配置短路由 - TP6路由

Guzzlehttp - 如何从 Guzzle 6 获取响应的正文?

ThinkPHP6无法动态include的解决办法

如何使用 Mockery 模拟嵌套对象,如 GuzzleHttp 请求