Sample code for 30+ languages & platforms
Xbase++

HTTP POST (Duplicate Simple HTML Form POST)

Demonstrates how to duplicate a simple HTML form POST.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oReq
LOCAL oHttp
LOCAL cDomain
LOCAL nPort
LOCAL nTls
LOCAL oResp

nSuccess := 0

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

oReq := CreateObject("Chilkat.HttpRequest")
oHttp := CreateObject("Chilkat.Http")

//  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:
oReq:HttpVerb := "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:
oReq:SetFromUrl("https://www.chilkatsoft.com/echoPost.asp")

//  Send form params using application/x-www-form-urlencoded
oReq:ContentType := "application/x-www-form-urlencoded"

//  The only remaining task is to add the params to the 
//  HTTP request object:
oReq:AddParam("firstName", "Matt")
oReq:AddParam("lastName", "Jones")

//  Send the HTTP POST and get the response.
//  The POST is being sent to chilkatsoft.com, on port 443 (using TLS)
cDomain := "chilkatsoft.com"
nPort := 443
nTls := 1

//  The HTTP POST is sent here:
oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpSReq(cDomain, nPort, nTls, oReq, oResp)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oReq:destroy()
    oHttp:destroy()
    oResp:destroy()
    RETURN
ENDIF

//  Display the HTML source of the page returned.
? oResp:BodyStr

oReq:destroy()
oHttp:destroy()
oResp:destroy()