Publicando XML através de cURL usando --data-binary

3

Eu tenho esse problema realmente típico. Eu tenho um arquivo XML que eu tenho que postar em um servidor. Foi-me dito pelo engenheiro de rede desse site para usar a função cURL. A função que ele me deu foi ...

curl --data-binary @/opt/somefile.xml http://1.2.3.4/gateway/submit?source=FOO&conversationid=1234567

Quando executo este comando, recebo o erro "URL inválida, retornando o status 400"

Eu tenho estado preso neste problema por um bom tempo agora e estou ficando seriamente frustrado. Eu tentei correr ...

curl http://1.2.3.4/gateway/submit?source=FOO&conversationid=1234567

e estou recebendo uma resposta da máquina "Mensagem de Teste" junto com alguns parâmetros de identificação do sistema host. O que isso provavelmente significaria que a URL do destino está OK e está sendo acessada pelo comando cURL.

Existe algum requisito especial para enviar arquivos XML via --data-binary ?
O XML precisa ser formatado de maneira especial?
A sintaxe do comando cURL está incorreta?

    
por Seemant Shankar 06.11.2014 / 20:44

1 resposta

3

O & é interpretado pelo shell, você deve usar aspas ( ' ) ao redor do URL:

curl --data-binary @/opt/somefile.xml 'http://1.2.3.4/gateway/submit?source=FOO&conversationid=1234567'
    
por 06.11.2014 / 20:49

Tags