httpclient post request and get response body c# code example

Example 1: example HttpClient c# Post

//Base code from: http://zetcode.com/csharp/httpclient/
public async string Example() 
{
  	//The data that needs to be sent. Any object works.
	var pocoObject = new 
	{
	  	Name = "John Doe",
		Occupation = "gardener"
	};

  	//Converting the object to a json string. NOTE: Make sure the object doesn't contain circular references.
	string json = JsonConvert.SerializeObject(pocoObject);
  	
  	//Needed to setup the body of the request
	StringContent data = new StringContent(json, Encoding.UTF8, "application/json");

  	//The url to post to.
	var url = "https://httpbin.org/post";
	var client = new HttpClient();

  	//Pass in the full URL and the json string content
	var response = await client.PostAsync(url, data);

  	//It would be better to make sure this request actually made it through
	string result = await response.Content.ReadAsStringAsync();
  	
  	//close out the client
  	client.Dispose();
  
	return result;
}

Example 2: c# getting response content from post

async Task<string> GetResponseString(string text)
{
    var httpClient = new HttpClient();

    var parameters = new Dictionary<string, string>();
    parameters["text"] = text;

    var response = await httpClient.PostAsync(BaseUri, new FormUrlEncodedContent(parameters));
    var contents = await response.Content.ReadAsStringAsync();

    return contents;
}