当前位置: 首页 > 知识库问答 >
问题:

无法使用Symfony HttpClient检索错误消息

支彭亮
2023-03-14

我使用Symfony HttpClient调用外部api。当stastusCode为200时,我可以使用getContent()方法来检索API响应。如果API响应为400,则抛出ClientExc0019,并且无法获取外部API消息。

$httpClient = HttpClient::create();
$response = $httpClient->request($method, $url);
if (200 !== $response->getStatusCode()) {
    $apiResponse['statusCode'] = $response->getStatusCode();
    $httpInfo = $response->getInfo();
    $content = $response->getContent(); //this throws ClientException
}

共有1个答案

皇甫福
2023-03-14

你可以用

$response->getContent(false)

以获取响应,而不是引发错误。

代码说明:

    public function getContent(bool $throw = true): string

请注意,您失去了一点HttpClient在这里提供的非常有意义的包装功能。

 类似资料:
  • 我有新的Ubuntu15.04和我安装了sbt通过本指南与

  • 我是Flink的新手,今天我遇到了一个奇怪的情况。 我运行Kafka服务器,然后使用confluent producer发送消息。使用consumer,我得到了正确的信息,但在应用程序中,我不能。我使用此图像设置message broker 我用这个向Kafka服务器发送消息 我发送的消息是 我用这个来听Kafka的留言 这是我的密码 当我将kafka源代码更改为KafkaSource时 user

  • 我在用roundcube(Ubuntu16.04)发送消息时遇到了问题,我使用的是ispconfig。 [27-apr-2017 15:18:51-0400]:PHP错误:无法从/usr/share/roundcube/program/lib/roundcube/rcube_plugin.PHP中的/var/lib/roundcube/plugins/zipdownload/config.inc.

  • 作为一个应用程序的一部分,我正在工作,我想提供一个假期列表。我试图使用谷歌API来做到这一点。在编写代码之前,我只想看看返回的JSON是什么样子的。 我在谷歌建立了一个帐户,得到了一个API密钥,并被设置为使用谷歌日历API。我对获取假期列表所需的HTML进行了研究,但似乎无法使其工作。我浏览了所有的日历API文档,但没有找到任何关于检索假日列表的内容。以下是我尝试的一些URL和收到的回复。我在网

  • 错误: 出现错误后,git尝试在作业的目录路径(C:/..//.JenkinsFile)上运行git rev-list-no-walk,并得到未找到的错误(我检查了,该文件存在)。

  • 我正在尝试使用Camel FTP组件(Camel 2.19.0)检索文件: 从跟踪日志中,我可以看到Camel正在正确地列出目录中的文件: 但是,当Camel试图处理每个文件时,它似乎将相对目录预置到绝对目录,并且无法找到结果的乱码路径: FTPComponent构造的日志中的此路径不正确: