При использовании RestSharp я получаю MethodNotFound на POST, но ответ думает, что это GET?

Я использую RestSharp и делаю POST впервые, у меня есть несколько запросов GET, которые все работают нормально). Служба отдыха находится на python, но я не думаю, что это критично для вопроса. Вот мой код:

   var client = new RestClient { BaseUrl = _baseUrl };

  var request = new RestRequest("nameOfPostMethod", Method.POST);
  request.RequestFormat = DataFormat.Json;
  request.AddBody(new { name, description });
  request.AddHeader("accept", "application/json");

  var response = client.Execute(request);

Вот грубый ответ, который я получаю:

    [{"name": "405 - Method Not Allowed", "data": 
    [["Class", "werkzeug.exceptions.MethodNotAllowed"], ["Category", "Client Error"], 
     ["Code", "405"], ["Name", "Method Not Allowed"], ["request.method", "GET"], 
     ["request.url", "http://myUrl/nameOfPostMethod"], ["error.message", "405 Method
    Not Allowed"], ["error.description", null]]}]

то, что бросается в глаза, это строка, где кажется, что я делаю GET вместо POST:

 ["request.method", "GET"]

 ["error.message", "405 Method Not Allowed"]

Любое предложение о том, что я могу делать здесь не так?

ОБНОВИТЬ:

Я скачал fiddler и попытался увидеть, что происходит, и что интересно, когда я смотрю на заголовки, он показывает GET. Вот скриншот того, что я вижу в fiddler:

Я даже пытался изменить:

  client.Execute(request);

в

  client.Post(request);

но это все еще показывает то же самое. Есть идеи?

2 ответа

Решение

Оказывается, это была проблема перенаправления на стороне веб-сервера, так что ничего общего с Rest Sharp

Я попросил удалить вопрос, чтобы избежать путаницы.

Это междоменный запрос? Если это так, то я подозреваю, что RestSharp делает предварительный запрос CORS перед выполнением фактического HTTP POST. "Метод 405 не разрешен" - это правильный ответ на запрос CORS, если междоменный POST не разрешен. Я не уверен, что этот снимок экрана показывает все заголовки HTTP. Отправляет ли он заголовки Access-Control-* в GET? Это подтвердит это.

Другие вопросы по тегам