5
我從zf2 api調用中得到一個奇怪的編碼問題。我已經驗證了API內部工作,以及它應該返回響應來源於此的API程序,這需要一個圖像文件並裁剪它:使用curl從ZF2 api調用響應的奇怪編碼
$result = new ViewModel(array('output'=>$output, 'response'=>json_encode($response)));
它發出之前,導致的$ A轉儲出來是這樣的:
[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>^@^@^@
這裏是我如何調用API,使用curl:
$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,我已經試過了各種解壓縮的調用,但沒有用。這裏發生了什麼?