leninyee leninyee -4 years ago 224
C# Question

Add a GET parameter to a POST request with RestSharp

I want to make a POST request to a URL like this:

http://localhost/resource?auth_token=1234


And I want to send JSON in the body. My code looks something like this:

var client = new RestClient("http://localhost");
var request = new RestRequest("resource", Method.POST);
request.AddParameter("auth_token", "1234");
request.AddBody(json);
var response = client.Execute(request);


How can I set the
auth_token
parameter to be a GET parameter and make the request as POST?

Answer Source

This should work if you 1) add the token to the resource url and 2) specify ParameterType.UrlSegment like this:

var client = new RestClient("http://localhost");
var request = new RestRequest("resource?auth_token={authToken}", Method.POST);
request.AddParameter("auth_token", "1234", ParameterType.UrlSegment);    
request.AddBody(json);
var response = client.Execute(request);

This is far from ideal - but the simplest way I've found... still hoping to find a better way.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download