Unicode C
Unicode C
HTTP POST (Duplicate Simple HTML Form POST)
Demonstrates how to duplicate a simple HTML form POST.Chilkat Unicode C Downloads
#include <C_CkHttpRequestW.h>
#include <C_CkHttpW.h>
#include <C_CkHttpResponseW.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttpRequestW req;
HCkHttpW http;
const wchar_t *domain;
int port;
BOOL tls;
HCkHttpResponseW resp;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
req = CkHttpRequestW_Create();
http = CkHttpW_Create();
// This example simulates this FORM:
// <form action="echoPost.asp" method="post">
// First name: <input type="text" name="firstName"><br />
// Last name: <input type="text" name="lastName"><br />
// <input type="submit" value="Submit">
// </form>
// The online FORM is found at this URL:
// https://www.chilkatsoft.com/simpleForm.html
// Build an HTTP POST Request:
CkHttpRequestW_putHttpVerb(req,L"POST");
// The FORM target is http://www.chilkatsoft.com/processPost.asp
// An easy way of filling out most of the HTTP request object
// is to call SetFromUrl:
CkHttpRequestW_SetFromUrl(req,L"https://www.chilkatsoft.com/echoPost.asp");
// Send form params using application/x-www-form-urlencoded
CkHttpRequestW_putContentType(req,L"application/x-www-form-urlencoded");
// The only remaining task is to add the params to the
// HTTP request object:
CkHttpRequestW_AddParam(req,L"firstName",L"Matt");
CkHttpRequestW_AddParam(req,L"lastName",L"Jones");
// Send the HTTP POST and get the response.
// The POST is being sent to chilkatsoft.com, on port 443 (using TLS)
domain = L"chilkatsoft.com";
port = 443;
tls = TRUE;
// The HTTP POST is sent here:
resp = CkHttpResponseW_Create();
success = CkHttpW_HttpSReq(http,domain,port,tls,req,resp);
if (success == FALSE) {
wprintf(L"%s\n",CkHttpW_lastErrorText(http));
CkHttpRequestW_Dispose(req);
CkHttpW_Dispose(http);
CkHttpResponseW_Dispose(resp);
return;
}
// Display the HTML source of the page returned.
wprintf(L"%s\n",CkHttpResponseW_bodyStr(resp));
CkHttpRequestW_Dispose(req);
CkHttpW_Dispose(http);
CkHttpResponseW_Dispose(resp);
}