curl -X POST --data-urlencode rawdata=$(< test.xml) --data-urlencode manual=1 https://validator.w3.org/feed/check.cgi
Annoyingly, I couldn't find a way to have curl do a "dry run" (show me the request without sending it). Someone else had this issue and netcat was suggested (and worked for my purposes): https://stackoverflow.com/questions/6180162/echo-curl-request-header-body-without-sending-it
Additionally, I couldn't find a way to URL-encode a file using curl's CLI, so I had to resort to shell magic. Again, someone else already asked about this and a workaround was suggested: https://unix.stackexchange.com/questions/270457/how-can-i-give-an-argument-as-an-external-file-to-curl-with-url-encode