How do I include special characters like @ and & in the cURL POST data? I\'m trying to pass a name and password like:
curl -d name=john passwd=@31&3*
Just found another solutions worked for me. You can use '\' sign before your one special.
passwd=\@31\&3*J
Try this:
export CURLNAME="john:@31&3*J"
curl -d -u "${CURLNAME}" https://www.example.com
Double quote (" ") the entire URL
.It works.
curl "http://www.mysite.com?name=john&passwd=@31&3*J"
I did this
~]$ export A=g
~]$ export B=!
~]$ export C=nger
curl http://<>USERNAME<>1:$A$B$C@<>URL<>/<>PATH<>/
cURL > 7.18.0 has an option --data-urlencode which solves this problem. Using this, I can simply send a POST request as
curl -d name=john --data-urlencode passwd=@31&3*J https://www.mysite.com
How about using the entity codes...
@ = %40
& = %26
So, you would have:
curl -d 'name=john&passwd=%4031%263*J' https://www.mysite.com