PureBasic
PureBasic
Transition from Http.PostUrlEncoded to Http.HttpReq
Provides instructions for replacing deprecated PostUrlEncoded method calls with HttpReq.Sends the following raw HTTP request:
POST /echoPost.asp HTTP/1.1 Host: www.chilkatsoft.com Content-Type: application/x-www-form-urlencoded Content-Length: 50 company=example&ip=111.111.111.111&url=example.com
Chilkat PureBasic Downloads
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpRequest.pb"
Procedure ChilkatExample()
success.i = 0
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
url.s = "https://www.chilkatsoft.com/echoPost.asp"
req.i = CkHttpRequest::ckCreate()
If req.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkHttpRequest::ckAddParam(req,"company","example")
CkHttpRequest::ckAddParam(req,"ip","111.111.111.111")
CkHttpRequest::ckAddParam(req,"url","example.com")
; ------------------------------------------------------------------------
; The PostUrlEncoded method is deprecated:
responseObj.i = CkHttp::ckPostUrlEncoded(http,url,req)
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkHttpRequest::ckDispose(req)
ProcedureReturn
EndIf
; ...
; ...
CkHttpResponse::ckDispose(responseObj)
; ------------------------------------------------------------------------
; Do the equivalent using HttpReq.
; Your application creates a new, empty HttpResponse object which is passed
; in the last argument and filled upon success.
req2.i = CkHttpRequest::ckCreate()
If req2.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkHttpRequest::ckAddParam(req2,"company","example")
CkHttpRequest::ckAddParam(req2,"ip","111.111.111.111")
CkHttpRequest::ckAddParam(req2,"url","example.com")
CkHttpRequest::setCkHttpVerb(req2, "POST")
CkHttpRequest::setCkContentType(req2, "application/x-www-form-urlencoded")
resp.i = CkHttpResponse::ckCreate()
If resp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckHttpReq(http,url,req2,resp)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkHttpRequest::ckDispose(req)
CkHttpRequest::ckDispose(req2)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndIf
; Results are contained in the HTTP response object...
CkHttp::ckDispose(http)
CkHttpRequest::ckDispose(req)
CkHttpRequest::ckDispose(req2)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndProcedure