0

我正在尝试在 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" 但是当我的内容主体有要发送的文件时,内容类型标头 application/json 会起作用吗?如果我的正文中有文件,我需要更改内容类型标题吗?

4

1 回答 1

0

不,是的,如果您正在谈论模拟浏览器以“选择”文件并将它们“上传”到服务器,那么标题将更改为

Content-Type: multipart/form-data;

另一方面,如果您正在谈论在命令行上使用文本文件代替长字符串,那么不会。使用 curl 命令行在 send/post xml 文件中阅读答案中的注释

于 2013-04-12T13:13:35.237 回答