Sample code for 30+ languages & platforms
Unicode C

HTTP POST x-www-form-urlencoded

Demonstrates how to send a simple URL encoded POST (content-type = x-www-form-urlencoded). Form params are passed in the HTTP request body in x-www-form-urlencoded format.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkHttpW.h>
#include <C_CkHttpRequestW.h>
#include <C_CkHttpResponseW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkHttpW http;
    HCkHttpRequestW req;
    HCkHttpResponseW resp;

    success = FALSE;

    //  This example requires the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    http = CkHttpW_Create();

    req = CkHttpRequestW_Create();

    //  Add the request params expected by the server-side:
    CkHttpRequestW_AddParam(req,L"city",L"Paris");
    CkHttpRequestW_AddParam(req,L"country",L"France");

    //  Send the POST
    CkHttpRequestW_putHttpVerb(req,L"POST");
    CkHttpRequestW_putContentType(req,L"application/x-www-form-urlencoded");

    resp = CkHttpResponseW_Create();
    success = CkHttpW_HttpReq(http,L"http://www.chilkatsoft.com/httpTest/cityCountry.asp",req,resp);
    if (success == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        CkHttpRequestW_Dispose(req);
        CkHttpResponseW_Dispose(resp);
        return;
    }

    //  The exact HTTP request sent and response received
    //  by the example code above is as follows:

    //  ---- Sending ----
    //  POST /httpTest/cityCountry.asp HTTP/1.1
    //  Host: www.chilkatsoft.com
    //  Content-Type: application/x-www-form-urlencoded
    //  Content-Length: 25
    //  
    //  city=Paris&country=France
    //  ---- Received ----
    //  HTTP/1.1 200 OK
    //  Date: Wed, 09 Dec 2009 16:16:00 GMT
    //  Server: Microsoft-IIS/6.0
    //  X-Powered-By: ASP.NET
    //  Content-Length: 156
    //  Content-Type: text/html
    //  Set-Cookie: ASPSESSIONIDQCDTSSAC=MHJCNFMDENFOKGINOFEDILCM; path=/
    //  Cache-control: private
    //  
    //  
    //  <html>
    //  <head>
    //  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    //  </head>
    //  <body>
    //  
    //  France<br />Paris<br />
    //  
    //  </body>
    //  </html>


    CkHttpW_Dispose(http);
    CkHttpRequestW_Dispose(req);
    CkHttpResponseW_Dispose(resp);

    }