我正在尝试使用下一步执行的cURL调用Rest Web服务:
这些功能中的每一个都是单独工作,但是当它们在一个服务中收集时,下载对话框没有打开,我总是将text / html作为内容类型,我通过Firebug看到它。
这是下载的代码(来自php.ent):
if (file_exists($filename)) {
header("Content-Length: " . filesize($filename));
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $certName);
readfile($filename, false);
exit();
}
以下是我如何调用我的服务:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
$dat=array(
// many args
);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $dat);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
$curl_errno = curl_errno($ch);
$curl_error = curl_error($ch);
if ($curl_errno > 0) {
echo "cURL Error ($curl_errno): $curl_error\n";
} else {
echo "Data received: $data\n";
}
curl_close($ch);
有什么不对的家伙?
答案 0 :(得分:1)
Data received: $data
作为HTML文档的正文如果您希望cURL使用程序充当代理,那么您需要代理HTTP标头,而不是将额外数据添加到输出。