使用头部应用程序发送curl请求中的文件

我正在尝试在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会工作吗? 如果我的身体有文件,我是否需要更改内容类型标题?


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

Content-Type: multipart/form-data;

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

链接地址: http://www.djcxy.com/p/48905.html

上一篇: Sending files in curl request with header application

下一篇: How to simulate browser form POST method using PHP/cURL