Sample code for 30+ languages & platforms
PowerBuilder

HTTP POST (Duplicate Simple HTML Form POST)

Demonstrates how to duplicate a simple HTML form POST.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Req
oleobject loo_Http
string ls_Domain
integer li_Port
integer li_Tls
oleobject loo_Resp

li_Success = 0

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

loo_Req = create oleobject
li_rc = loo_Req.ConnectToNewObject("Chilkat.HttpRequest")
if li_rc < 0 then
    destroy loo_Req
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("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:
loo_Req.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:
loo_Req.SetFromUrl("https://www.chilkatsoft.com/echoPost.asp")

// Send form params using application/x-www-form-urlencoded
loo_Req.ContentType = "application/x-www-form-urlencoded"

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

// Send the HTTP POST and get the response.
// The POST is being sent to chilkatsoft.com, on port 443 (using TLS)
ls_Domain = "chilkatsoft.com"
li_Port = 443
li_Tls = 1

// The HTTP POST is sent here:
loo_Resp = create oleobject
li_rc = loo_Resp.ConnectToNewObject("Chilkat.HttpResponse")

li_Success = loo_Http.HttpSReq(ls_Domain,li_Port,li_Tls,loo_Req,loo_Resp)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Req
    destroy loo_Http
    destroy loo_Resp
    return
end if

// Display the HTML source of the page returned.
Write-Debug loo_Resp.BodyStr


destroy loo_Req
destroy loo_Http
destroy loo_Resp