I am trying to pass a url-encoded multi-line string as parameter of a GET call to an existing web-service. I think I am getting quite close to the solution with the following:
echo -e 'p_message=a\nb\nc\n' | curl -v -G --data-urlencode @- http://localhost/service > GET /service?p_message%3Da%0Ab%0Ac%0A%0A HTTP/1.1
It seems that the only thing that is going wrong is that the '=' is getting url-encoded. I am running the latest version of curl (7.33).
curl
to URL encode the data you give it by using--data-urlencode
? Passing it readily URL encoded data (the way you like it) and not using the parameter would be obvious solution, right?