TIL: Handling shell sensitive characters in URL when using curl/httpie

Jonas Brømsø - Jul 26 '18 - - Dev Community

Handling shell sensitive characters in URL when using curl/httpie

Sometimes you want to request an URL from the command-line, but the URL contains characters bearing meaning in your shell.

$ curl --header Accept:application/json https://USERID:funkyPassMo|)@eksempel.dk/dostuff
-bash: syntax error near unexpected token '|'
Enter fullscreen mode Exit fullscreen mode

Simply quote the URL when using curl

$ curl --header Accept:application/json \ 
"https://USERID:funkyPassMo|)@eksempel.dk/dostuff"
Enter fullscreen mode Exit fullscreen mode

And if your special character is a quote ", quote differently, use ' for example

$ curl --header Accept:application/json \
'https://USERID:funky"PassMo|)@eksempel.dk/dostuff'
Enter fullscreen mode Exit fullscreen mode

See also: http://wiki.bash-hackers.org/syntax/quoting

Originally posted in my TIL collection

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .