首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Guzzle客户端获取Api数据

使用Guzzle客户端获取Api数据
EN

Stack Overflow用户
提问于 2020-10-06 05:13:17
回答 1查看 80关注 0票数 0

我正在尝试从API中调用数据,它在Postman和jquery中工作得很好,它有一个API键名为"APP_KEY“,必须作为头部发送,否则API的数据无法访问,我试图使用Guzzle客户端获取数据,但它没有发送头部。

下面是需要传入的头部:

代码语言:javascript
复制
APP_KEY=>QAWLhIK2p5

下面是控制器部分:

代码语言:javascript
复制
$client = new Client();
      $body['headers']= array('APP_KEY'=>'QAWLhIK2p5');
      $response = $client->GET('http://localhost:1080/busy/public/api/material',$body);
      //dd($response->getStatusCode());

      print_r($data = $response->getResponse()->getContents());

请告诉我如何发送带有指向API的链接的报头

如有任何帮助,将不胜感激

邮递员来了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-10 00:50:31

你也应该使用guzzle作为标签,我会在那天回答,你需要改变你的代码,

代码语言:javascript
复制
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;


public function yourFunction()
{
    try {
        $client = new Client();
        $guzzleResponse = $client->get(
                'http://localhost:1080/busy/public/api/material', [
                'headers' => [
                    'APP_KEY'=>'QAWLhIK2p5'
                ],
            ]);
        if ($guzzleResponse->getStatusCode() == 200) {
            $response = json_decode($guzzleResponse->getBody(),true);
        }
        
    } catch (RequestException $e) {
        // you can catch here 400 response errors and 500 response errors
        // see this https://stackoverflow.com/questions/25040436/guzzle-handle-400-bad-request/25040600
    } catch(Exception $e){
        //other errors 
    }
}

就这么简单,想要了解更多信息,只需查看docs

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64216262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档