1、我用curl工具发post请求,是完全可以的:
#!/bin/sh -ex
url="https://olvmm/ovirt-engine/api"
user="admin@internal"
password="1234"
curl \
--verbose \
--cacert /etc/ca.cer \
--user "${user}:${password}" \
--request POST \
--header "Version: 4" \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--data '
<vm>
<name>myvm</name>
<template>
<name>cloud-init-new</name>
</template>
<cluster>
<name>Cluster1</name>
</cluster>
</vm>
' \
"${url}/vms"
中间结果省略
</sso>
<start_paused>false</start_paused>
<stateless>false</stateless>
<storage_error_resume_behaviour>auto_resume</storage_error_resume_behaviour>
<time_zone>
<name>Etc/GMT</name>
</time_zone>
<type>server</type>
<usb>
<enabled>false</enabled>
</usb>
<virtio_scsi>
<enabled>true</enabled>
</virtio_scsi>
<cluster href="/ovirt-engine/api/clusters/47e60102-cb8e-11eb-82fd-5254007ff509" id="47e60102-cb8e-11eb-82fd-5254007ff509"/>
<cpu_profile href="/ovirt-engine/api/cpuprofiles/58ca604e-01a7-003f-01de-000000000250" id="58ca604e-01a7-003f-01de-000000000250"/>
<quota id="4e1728e4-cb8e-11eb-b8a1-5254007ff509"/>
<next_run_configuration_exists>false</next_run_configuration_exists>
<numa_tune_mode>interleave</numa_tune_mode>
<status>image_locked</status>
<stop_time>2021-08-13T19:01:41.093+08:00</stop_time>
<original_template href="/ovirt-engine/api/templates/fc480cbb-1a05-48a8-9c34-0bc4cc69a154" id="fc480cbb-1a05-48a8-9c34-0bc4cc69a154"/>
<template href="/ovirt-engine/api/templates/fc480cbb-1a05-48a8-9c34-0bc4cc69a154" id="fc480cbb-1a05-48a8-9c34-0bc4cc69a154"/>
</vm>
* Connection #0 to host olvmm left intact
2、但是一样的命令在RESTClient里面就报错:
请问这是什么原因?
Content-Type设置值可能有误