C
C
HTTP POST (Duplicate Simple HTML Form POST)
Demonstrates how to duplicate a simple HTML form POST.Chilkat C Downloads
#include <C_CkHttpRequest.h>
#include <C_CkHttp.h>
#include <C_CkHttpResponse.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttpRequest req;
HCkHttp http;
const char *domain;
int port;
BOOL tls;
HCkHttpResponse resp;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
req = CkHttpRequest_Create();
http = CkHttp_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:
CkHttpRequest_putHttpVerb(req,"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:
CkHttpRequest_SetFromUrl(req,"https://www.chilkatsoft.com/echoPost.asp");
// Send form params using application/x-www-form-urlencoded
CkHttpRequest_putContentType(req,"application/x-www-form-urlencoded");
// The only remaining task is to add the params to the
// HTTP request object:
CkHttpRequest_AddParam(req,"firstName","Matt");
CkHttpRequest_AddParam(req,"lastName","Jones");
// Send the HTTP POST and get the response.
// The POST is being sent to chilkatsoft.com, on port 443 (using TLS)
domain = "chilkatsoft.com";
port = 443;
tls = TRUE;
// The HTTP POST is sent here:
resp = CkHttpResponse_Create();
success = CkHttp_HttpSReq(http,domain,port,tls,req,resp);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttpRequest_Dispose(req);
CkHttp_Dispose(http);
CkHttpResponse_Dispose(resp);
return;
}
// Display the HTML source of the page returned.
printf("%s\n",CkHttpResponse_bodyStr(resp));
CkHttpRequest_Dispose(req);
CkHttp_Dispose(http);
CkHttpResponse_Dispose(resp);
}