2017-02-15 1 views
1

RestSharp를 사용하여 일부 데이터를 URL에 게시하고 있습니다. 나는 바이올린을 사용하여이 작업을 모니터링하고 있습니다. 이 코드와 .NET HttpClient를 간단한 사용하는 경우 :RestSharp Request method가 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

이것은 바보입니다. 내가 "https"의 "http"insteade를 사용하고 있었는데 이것은 원격 호스트에서 처리되지 않았습니다. :) –

답변

0
는 GetOrPost 에 ParameterType 인수를 변경

그것은 JSON과 POST로

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

나는이 일을하지만 어떤 변화도 일어나지 않았고 내 요청을 모니터로 받았다. –

0
  1. 초기화 요청을 작동합니다.

    var client = new RestClient (PreUri);

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

  2. 몸에

    request.AddBody (OBJ)에 객체를 추가;

  3. ) (

    VAR의 cancellationTokenSource = 새로운 CancellationTokenSource 실행;

    var response = await client.ExecuteTaskAsync (request, cancellationTokenSource.Token);

+0

나는 데이터를 서버에 application/x-www-form-urlencoded 형식으로 보내야한다. –

관련 문제