PureBasic
PureBasic
HTTP POST x-www-form-urlencoded
Demonstrates how to send a simple URL encoded POST (content-type = x-www-form-urlencoded). Form params are passed in the HTTP request body in x-www-form-urlencoded format.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.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
req.i = CkHttpRequest::ckCreate()
If req.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Add the request params expected by the server-side:
CkHttpRequest::ckAddParam(req,"city","Paris")
CkHttpRequest::ckAddParam(req,"country","France")
; Send the POST
CkHttpRequest::setCkHttpVerb(req, "POST")
CkHttpRequest::setCkContentType(req, "application/x-www-form-urlencoded")
resp.i = CkHttpResponse::ckCreate()
If resp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckHttpReq(http,"http://www.chilkatsoft.com/httpTest/cityCountry.asp",req,resp)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkHttpRequest::ckDispose(req)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndIf
; The exact HTTP request sent and response received
; by the example code above is as follows:
;
; ---- Sending ----
; POST /httpTest/cityCountry.asp HTTP/1.1
; Host: www.chilkatsoft.com
; Content-Type: application/x-www-form-urlencoded
; Content-Length: 25
;
; city=Paris&country=France
; ---- Received ----
; HTTP/1.1 200 OK
; Date: Wed, 09 Dec 2009 16:16:00 GMT
; Server: Microsoft-IIS/6.0
; X-Powered-By: ASP.NET
; Content-Length: 156
; Content-Type: text/html
; Set-Cookie: ASPSESSIONIDQCDTSSAC=MHJCNFMDENFOKGINOFEDILCM; path=/
; Cache-control: private
;
;
; <html>
; <head>
; <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
; </head>
; <body>
;
; France<br />Paris<br />
;
; </body>
; </html>
CkHttp::ckDispose(http)
CkHttpRequest::ckDispose(req)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndProcedure