* XML GET ```bash curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET "http://hostname/resource" ``` * JSON GET ```bash curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET "http://hostname/resource" ``` * JSON PUT ```bash curl -i -H 'Content-Type: application/json' -H 'Accept: application/json' -X PUT -d '{"updated_field1":"updated_value1"}' "http://hostname/resourcex" ``` * JSON POST uploading a file ```bash curl -i -H 'Accept: application/json' -X POST -F "filename=@/file/path" -F "other_field=its_value" "http://hostname/resource" ``` * JSON DELETE ```bash curl -i -H 'Content-Type: application/json' -H 'Accept: application/json' -X DELETE -d '{"key1":"value1"}' "http://hostname/resource" ``` * POST ```bash curl -i -X POST -H 'Content-Type: application/x-www-form-urlencoded' --data 'key1=value1&key2=value2' url ``` * "Debugging mode" (without actual content output): ```bash curl -XGET -vvv http://hostname/resource > dev\null ``` ### Useful arguments * ```-k```: not check SSL certificates * ```-L```: follow redirects * ```-v```: get verbose output * ```-V```: get headers at output