Usando cURL para postar dados

2

Eu tento postar para localhost com alguns parâmetros no URL. Tudo funciona bem no Fiddler. Mas cURL não me permite fazê-lo, com a mensagem de erro abaixo.

curl --data "Tarefa = assar" link

{"Message": "Nenhum recurso HTTP foi encontrado que corresponda ao URI da solicitação ' link '.", " MessageDetail ":" Nenhuma ação foi encontrada no controlador 'Donut' que corresponde à solicitação. "}

No Fiddler, eu componho a solicitação da seguinte maneira: POST link

    
por chhenning 23.11.2015 / 00:20

3 respostas

1

Os seguintes trabalhos:

curl --data '' link

O parâmetro "--data ''" parece ser importante, então o curl faz um POST e não um GET.

    
por 23.11.2015 / 19:59
0

Embora você possa tecnicamente estar fazendo uma solicitação "POST" no fiddler (que eu não usei, mas sei uma coisa ou duas sobre o HTTP), parece-me que você não está realmente postando sua consulta você está usando um "PUT" (presumivelmente combinado com um post vazio).

Acredito que, se você usar o link , o curl funcionará bem.

[Uma solicitação PUT coloca os parâmetros como parte da URL, e uma solicitação POST os coloca no cabeçalho da solicitação.

É provável que seu aplicativo esteja programado para aceitar o PUTS, mas não os POSTS.

    
por 23.11.2015 / 01:40
0

O uso de curl com o argumento --data causa o curl para o POST, mas também para enviar os argumentos como parte do corpo da solicitação, em vez de enviar os argumentos por meio da URL.

Dado o erro que você está recebendo é um erro de roteamento do MVC dizendo que a rota não pode ser resolvida para uma ação, acredito que a ação que você está segmentando não está configurada para receber seus parâmetros do corpo do pedido.

Tente:

curl -d '' http://localhost:49301/api/donut/run?Task=bake
    
por 11.01.2018 / 05:27

Tags