PureBasic
PureBasic
HTTP POST (Duplicate Simple HTML Form POST)
Demonstrates how to duplicate a simple HTML form POST.Chilkat PureBasic Downloads
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpRequest.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
req.i = CkHttpRequest::ckCreate()
If req.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; 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::setCkHttpVerb(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::ckSetFromUrl(req,"https://www.chilkatsoft.com/echoPost.asp")
; Send form params using application/x-www-form-urlencoded
CkHttpRequest::setCkContentType(req, "application/x-www-form-urlencoded")
; The only remaining task is to add the params to the
; HTTP request object:
CkHttpRequest::ckAddParam(req,"firstName","Matt")
CkHttpRequest::ckAddParam(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.s = "chilkatsoft.com"
port.i = 443
tls.i = 1
; The HTTP POST is sent here:
resp.i = CkHttpResponse::ckCreate()
If resp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckHttpSReq(http,domain,port,tls,req,resp)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttpRequest::ckDispose(req)
CkHttp::ckDispose(http)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndIf
; Display the HTML source of the page returned.
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpRequest::ckDispose(req)
CkHttp::ckDispose(http)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndProcedure