It's not clear what you mean here. If you see output from a program when it's run, that means that it wrote that to either stdout or stderr. When you run a program in Rust using, eg the Command::status() method, Rust tells the operating system to use the same stdin, stdout and stderr (collectively, stdio) as the calling program, so you as the user running this parent Rust program see the messages of the child program.
If you instead use Command::output() as linked above, Rust tells the operating system to give it the stdout and stderr output, and it collects them into two Vec<u8> values on the result so you can do something with them.
If you want them as a string, you'll have to convert them, possibly with String in std::string - Rust (note there's no guarantee that any random program output is UTF-8, and on Windows it's sometimes UTF-16)
From there, you can probably figure out how to chop up the lines to get the message out - the string methods are pretty helpful.
Hmm, maybe I know the problem. I prevent the curl output by put -s --silent command option; so the error content being wiped out, but error code left in ExitStatus.