How to send JSON with curl including variables in the payload?
To send a POST request using curl and include a JSON payload, you need to ensure that the formatting of the JSON string is correct, especially with the quotes. Below is the corrected curl command with appropriate escaping for quotes:
curl -X POST -H "Content-type: application/json" --data "{\"content\": \"User = %username% Ip = %ip% time = %time% date = %date% os = %os% Computername = %computername%\"}" %webhook%
Breakdown:
- We are using
-X POSTto specify that we are making a POST request. - The
-Hflag sets the header for content type toapplication/json. - The
--dataflag contains the actual JSON payload:- The outer quotes for
--dataare double quotes. - Inside the JSON, we escape the double quotes around the keys (
"content") and values using\.
- The outer quotes for
%webhook%should be replaced with your actual webhook URL.
Important:
Make sure that the shell you are using is capable of parsing escaped quotes correctly. If you are using Windows Command Prompt, you might need to adjust the escaping accordingly.
Was this answer helpful?
Thanks — your feedback improves the quality gate.