Sample code for 30+ languages & platforms
.NET Core C#

HTTP POST x-www-form-urlencoded

Demonstrates how to send a simple x-www-form-urlencoded POST.

Chilkat .NET Core C# Downloads

.NET Core C#
bool success = false;

Chilkat.Http http = new Chilkat.Http();

string jsonStr = "{ some json ... }";

Chilkat.HttpRequest req = new Chilkat.HttpRequest();
// This query parameter just happens to be named "json" and contains JSON text.
req.AddParam("json",jsonStr);

// We can optionally add more query parameters. 
req.AddParam("abc","123");
req.AddParam("xml","<abc>123</abc>");

// Note: Just because we passed a query param named "json" or "xml" means nothing special.  It's still just
// a name=value query parameter..

req.HttpVerb = "POST";
req.ContentType = "application/x-www-form-urlencoded";

Chilkat.HttpResponse resp = new Chilkat.HttpResponse();
success = http.HttpReq("http://example.com/xyz/connect/report",req,resp);
if (success == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

if (resp.StatusCode != 200) {
    Debug.WriteLine("Hey, I didn't receive the expected response status code!");
    Debug.WriteLine("status code = " + Convert.ToString(resp.StatusCode));
}

// Could be error text if the status code wasn't what we expected, or could be the response
// body you're seeking..
string responseBody = resp.BodyStr;
Debug.WriteLine(responseBody);

Chilkat.FileAccess fac = new Chilkat.FileAccess();
string filepath = "some file path";
success = fac.WriteEntireTextFile(filepath,responseBody,"utf-8",false);
if (success != true) {
    Debug.WriteLine(fac.LastErrorText);
}