我正在尝试从本地主机发送cURL发布请求,但是却收到Missing parameters error。当我从REST客户端mozilla插件尝试运行时,它工作正常。下面是我的php代码。
$file = tempnam(sys_get_temp_dir(), 'AMZREO');
$fh = @fopen($file, 'w+');
foreach($input as $curl_response)
{
fputcsv($fh, $curl_response, ',', '"');
}
// ... close the "file"...
@fclose($fh);
$post = array(
'file'=>'@'.$file
);
print_r($post);
$header[] = 'Authorization: Token '.$token;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$target_url.'?target='.$target);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);
curl_setopt($ch, CURLOPT_HTTP200ALIASES, array(400, 500));
$response = curl_exec($ch);
下面是响应
print_r($response);
{"status": "Failure", "message": "Missing Parameters"}
我可以在temp文件夹中看到创建的文件。当我print_r $ post数组时,我得到了这个结果。
Array
(
[file] => @C:\Users\acer\AppData\Local\Temp\AMZEE93.tmp
)
在这方面请帮助我。任何帮助将不胜感激。