преобразование PHP POST-скрипта в C#

#c# #php

Вопрос:

Я пытаюсь получить доступ к стороннему API. Документация стороннего поставщика API содержит следующий PHP-код о том, как получить доступ к отправленным данным. Мой код написан на C# dotnetcore. Я попробовал несколько способов доступа к API, но получил сообщение об ошибке 415. Может кто-нибудь помочь мне решить эту проблему.

 lt;?php   $mmid = $_POST['mm_id'];  $ooid = $_POST['oo_id'];  ?gt;  

Мой код на C#

 [HttpPost("b_notice")]  [ProducesResponseType(typeof(string), (int)HttpStatusCode.OK)]  public async Tasklt;ActionResultgt; APIUrl(string mm_id)  {  try  {  return Ok(mm_id);  }  catch (Exception ex)  {  return BadRequest(ex.Message);  }   }  

Код ответа, который я получаю, — 415 Неподдерживаемых типов носителей. . Я думаю, что они не используют JSON. Кто-нибудь может помочь мне решить эту проблему ?

Примечание: Сторонний поставщик говорит, что они используют » приложение/x-www-форма-URL-кодированный.

Ответ №1:

Вы должны быть в состоянии сделать это, установив заголовок ответа типа содержимого. API ожидает ввода из html-формы, но он получает ввод откуда-то, чего не ожидает. Я не уверен, как бы вы изменили заголовки в C#, но это хорошее место для начала. Попробуйте протестировать его в отладчике http-запросов, таком как postman

Комментарии:

1. Это то, что я сделал»[Потребляет («приложение/x-www-форма-urlencoded»)]».

2. Это сработало? Слово Потребляет заставляет меня думать, что оно изменяет заголовок Accept, который предназначен для представления типа данных ответа с сервера.