2017-02-15 3 views
1

Я использую RestSharp для размещения некоторых данных в URL-адресе. Я контролирую эту операцию с помощью скрипача. когда я использую Simple .net HttpClient с этим кодом:Почему метод запроса RestSharp Изменить с POST на GET?

using (var client = new HttpClient()) 
     { 
      var values = new Dictionary<string, string> { 
       { "par1", "1395/11/29" }, 
       { "par2", "2" }}; 
      var content = new FormUrlEncodedContent(values); 
      var response = await client.PostAsync("http://someurl.com/resource", content); 
      var responseString = await response.Content.ReadAsStringAsync(); 
} 

каждая вещь хорошая, и это возвращение истинный результат. но когда я пытаюсь использовать RestSharp с этим кодом:

RestSharp.RestRequest request = new RestSharp.RestRequest("/resource"); 
request.AddParameter("par1", val, RestSharp.ParameterType.RequestBody); 
request.AddParameter("par2", val, RestSharp.ParameterType.RequestBody); 
request.AddHeader("Origin", "http://someurl.com"); 
request.Method = RestSharp.Method.POST; 
RestSharp.RestClient client = new RestSharp.RestClient("http://someurl.com"); 
var response = client.Execute(request); 

затем стельку показать мне отправлен запрос методом GET вместо POST?

проверить еще раз мой скрипача и нашел этот вопрос:

Content-Type: par1

, почему это происходит для меня?

+0

Это была глупая ошибка. я использовал «http» insteade из «https», и это не обрабатывалось на удаленном хосте. :) –

ответ

0

Изменить ParameterType аргумент GetOrPost и он будет работать

request.AddParameter("par1", val, RestSharp.ParameterType.GetOrPost); 
request.AddParameter("par2", val, RestSharp.ParameterType.GetOrPost); 
+0

Я делаю это, но никаких изменений не произошло, и мой запрос отслеживается как GET –

0
  1. Initialize запрос в POST с JSON.

    var client = new RestClient (PreUri);

    var request = new RestRequest (Uri, Method.POST) {RequestFormat = DataFormat.Json};

  2. Добавить объект в теле

    request.AddBody (OBJ);

  3. Execute

    уаг CancellationTokenSource = новый CancellationTokenSource();

    var response = wait client.ExecuteTaskAsync (запрос, cancelationTokenSource.Token);

+0

Я должен отправить данные на сервер в приложении/x-www-form-urlencoded format –

Смежные вопросы