gpt4 book ai didi

curl - 使用 curl 响应来自 ZF2 api 调用的奇怪编码

转载 作者:行者123 更新时间:2023-12-03 15:59:34 25 4
gpt4 key购买 nike

我从 zf2 api 调用中遇到了一个奇怪的编码问题。我已经验证了 api 在内部工作,它应该发回的响应来自 api 例程中的这个,它需要一个图像文件并裁剪它:

$result = new ViewModel(array('output'=>$output, 'response'=>json_encode($response)));

$result 在发送之前的转储如下所示:
[output] => json
[response] =>{"data":"http:\/\/dev.xxxxx.com\/tools\/files\/temporary_files\/f16da1965e4d0c487ae7692f4b51558b917c238e.1","status":"OK"}

但我得到的实际回应是这样的:
^_<8b>^H^@^@^@^@^@^@^C%ÍM
^B!^T^@໸^Nß¹Â,:B<õI<82><8e><83>¾<82><88>î^Ðò[}o<96><80><80>­ìNt¬B4(5^R>y*<93>F ¥ï<ö&¨÷:E.^U§ lG^_0^·¿³4 ¤7^ZU:Gå, 5~É*h©µ^K^Ú¸\^\rÉNl^RÐcþÖëÆ>_Id»'<83>^@^@^@

这是我使用 curl 调用 api 的方式:
    $client = new Client($api_url);
$adapter = new Curl();
$adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false);
$client->setAdapter($adapter);

$request = new Request();
$request->setUri($api_url);
$request->setMethod(\Zend\Http\Request::METHOD_POST);
$request->setContent($postString);

$response = $client->dispatch($request);
$responseContent = $response->getContent();

看起来编码的部分是 $responseContent 的转储。认为它可能是 gzip 压缩的,因为响应头说内容类型是 gzip,我尝试了各种解压缩调用,但无济于事。这到底是怎么回事?

最佳答案

内容使用 gzip 压缩。您需要在响应中使用 getBody(),而不是 getContent()。

关于curl - 使用 curl 响应来自 ZF2 api 调用的奇怪编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18494577/

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