我正在尝试在curl请求中以json格式发送数据。所以我的身体就像这样
$body = json_encode($array);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($body),
'Content-Md5: ' . base64_encode(md5($body, true))
));
我可以这样设置内容标题--header“Content-Type:application / json”但是当我的内容正文将要发送文件时,内容类型标题应用程序/ json会起作用吗? 如果我的正文中有文件,我是否需要更改内容类型标题?
答案 0 :(得分:0)
不,是的,如果您正在讨论模拟浏览器“选择”文件并将其“上传”到服务器,则标题将更改为
Content-Type: multipart/form-data;
另一方面,如果你在谈论在命令行上使用文本文件代替长字符串,那么没有。 阅读send/post xml file using curl command line
的答案中的注释