DEV Community

loading...

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

jonasbn profile image jonasbn ・1 min read

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

Discussion (0)

pic
Editor guide