2

Я пытаюсь опубликовать на localhost с некоторыми параметрами в URL. Все просто отлично работает в Fiddler. Но cURL не позволяет мне сделать это, с сообщением об ошибке ниже.

curl --data "Task = bake" http://localhost:49301/api/donut/run

{"Message":"Не найден ресурс HTTP, который соответствует URI запроса" http://localhost:49301/api/donut/run ".", "MessageDetail":"На контроллере" Donut "не было найдено никакого действия, которое соответствует запросу. "}

В Fiddler я составляю запрос следующим образом: POST http://localhost: 49301/api/donut/run?Task = bake

3 ответа3

1

Следующие работы:

curl --data '' http://localhost:49301/api/donut/run?Task = bake

Параметр "--data ''" кажется важным, поэтому curl выполняет POST, а не GET.

0

Использование curl с аргументом --data вызывает curl для POST, но также отправляет аргументы как часть тела запроса, а не как аргументы, передаваемые через URL.

Учитывая, что полученная вами ошибка является ошибкой маршрутизации MVC, утверждающей, что маршрут не может быть разрешен действием, я предполагаю, что целевое действие не настроено для получения его параметров из тела запрос.

Пытаться:

curl -d '' http://localhost:49301/api/donut/run?Task=bake
0

Хотя технически вы можете выполнять запрос "POST" в fiddler (который я не использовал, но я кое-что знаю об HTTP), мне кажется, что вы на самом деле не публикуете свой запрос, а вы используют "PUT" (предположительно в сочетании с пустым постом).

Я полагаю, что если бы вы использовали curl http://localhost:49301/api/donut/run?Task = bake, это бы работало нормально.

[Запрос PUT помещает параметры как часть URL, вместо этого запрос POST помещает их в заголовок запроса.

Вполне вероятно, что ваше приложение запрограммировано на прием PUTS, но не POSTS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .