我是否可以通过命令行上的curl设置内容类型而不添加";边界=----“什么;?

我是否可以通过命令行上的curl设置内容类型而不添加";边界=----“什么;?,curl,http-headers,content-type,Curl,Http Headers,Content Type,我正在向Web服务器发送一个命令行curl命令。Web服务器只接受类型为application/xml或application/json的内容。我的curl命令(稍微编辑)是: 我发现服务器拒绝了以下内容: POST load request has invalid type application/xml; boundary=----------------------------dc1435dd0d36 问题是服务器无法识别 "boundary=----------------------

我正在向Web服务器发送一个命令行curl命令。Web服务器只接受类型为application/xml或application/json的内容。我的curl命令(稍微编辑)是:

我发现服务器拒绝了以下内容:

POST load request has invalid type application/xml; boundary=----------------------------dc1435dd0d36
问题是服务器无法识别

"boundary=----------------------------dc1435dd0d36"
有没有办法告诉curl不要包含这个?或者这是服务器中的一个bug

我发现了一个与此相关的问题,但它只涉及可以通过curl_setopt设置curl选项的程序。有没有办法在命令行上执行这些操作?先前的问题是:


提前感谢您的帮助

如果要发送
应用程序/xml
,应使用
--data
而不是发送
多部分/表单数据的
--form
。在您的情况下,应该是文件的内容,而不是您要发送的文件本身。像这样:

curl -k  --cert certfile --data "@test.xml" --cacert cacert.pem https://IP:PORT/v1/all/3131 --header "allowed-domains: foo.net" -H "Content-Type:application/xml"

谢谢你,真管用!我没有意识到--表单会将其作为多部分/表单数据发送,即使我显式地设置了内容类型,但这是有意义的。对我来说也是有效的。我在尝试类似的选项c:。
curl -k  --cert certfile --data "@test.xml" --cacert cacert.pem https://IP:PORT/v1/all/3131 --header "allowed-domains: foo.net" -H "Content-Type:application/xml"