curlAPI调用下载文件

我使用curl从api调用中获取下载的Excel文件,在我的一个api调用中返回一个excel文件,

我喜欢强制下载该Excel文件,我怎样才能做到这一点与curl?

我尝试像这样: –

$url = 'http://xyzwebsite.com/GetExcelParameterScheet'; $fields = array('TemplateID' => $id); $method = 'POST'; // Open connection $ch = curl_init(); // Set the url, number of POST vars, POST data curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); // Disabling SSL Certificate support temporarly curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields)); // Execute post $result = curl_exec($ch); if ($result === FALSE) { die('Curl failed: ' . curl_error($ch)); } // Close connection curl_close($ch); 

如果要将文件保存在服务器上,请添加

 file_put_contents("sheet.xls",$result); 

如果你想强制下载到网站访问者,请使用

 header('Content-Type: application/octet-stream'); header("Content-Transfer-Encoding: Binary"); header("Content-disposition: attachment; filename=\"sheet.xls\""); echo $result;