curl -s -X POST -H 'Content-Type:application/json' -d@export-dashboard-new.json http://${host}/zabbix/api_jsonrpc.php -v
- -X 参数代表资源的请求类型
- -H参数表示在请求头中附加的参数
- -d参数表示需要上传的参数,需要上传文件时需要使用@file_name
- -v 查看curl执行过程中的详细信息
- -s, --silent
Silent or quiet mode. Don't show progress meter or error messages. Makes Curl mute.
curl -s -X POST -H 'Content-Type:application/json' -d@export-dashboard-new.json http://${host}/zabbix/api_jsonrpc.php -v
提交POST请求,附带参数放在文件export-dashboard-new.json 中
更多详细信息,参考 man curl
-d, --data <data>
(HTTP) Sends the specified data in a POST request to the HTTP server, in the same way that a browser does when a user has filled in an HTML form and presses the submit button. This will cause curl to pass the data to
the server using the content-type application/x-www-form-urlencoded. Compare to -F, --form.
-d, --data is the same as --data-ascii. To post data purely binary, you should instead use the --data-binary option. To URL-encode the value of a form field you may use --data-urlencode.
If any of these options is used more than once on the same command line, the data pieces specified will be merged together with a separating &-symbol. Thus, using '-d name=daniel -d skill=lousy' would generate a post
chunk that looks like 'name=daniel&skill=lousy'.
If you start the data with the letter @, the rest should be a file name to read the data from, or - if you want curl to read the data from stdin. The contents of the file must already be URL-encoded. Multiple files
can also be specified. Posting data from a file named 'foobar' would thus be done with --data @foobar.