Entendi, o seguinte parece funcionar:
echo -e "a\nb\nc\n'" | curl -v -G --data-urlencode p_message@- http://localhost/service
> GET /service?p_message=a%0Ab%0Ac%0A%27%0A HTTP/1.1
Estou tentando passar uma cadeia de várias linhas com codificação de URL como parâmetro de uma chamada GET para um serviço da Web existente. Acho que estou chegando perto da solução com o seguinte:
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
Parece que a única coisa que está dando errado é que o '=' está ficando codificado pelo url. Estou executando a última versão do curl (7.33).
Tags curl