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

来自使用curl的ZF2 api调用的奇怪编码,第1张

概述我从zf2 api调用中得到了一个奇怪的编码问题.我已经验证了api在内部工作,并且它应该发送回来的响应来自api例程,该例程采用图像文件并裁剪它: $result = new ViewModel(array('output'=>$output, 'response'=>json_encode($response))); 在结果发送之前转储$result,如下所示: [output] => jso 我从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的ZF2 api调用的奇怪编码全部内容,希望文章能够帮你解决来自使用curl的ZF2 api调用的奇怪编码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1026904.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存