DataFlex
DataFlex
HTTP Methods - GET and DELETE
Demonstrate a method for sending HTTP requests that don't have a request body, such as for GET or DELETE requests.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoHttp
String sUrl
Variant vResp
Handle hoResp
Integer iStatusCode
String sTemp1
Move False To iSuccess
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
// Specifiy a session log file so we can see the exact request/response
Set ComSessionLogFilename Of hoHttp To "c:/aaworkarea/sessionLog.txt"
// Perhaps add a custom header or two..
Send ComSetRequestHeader To hoHttp "x-exz-date" "20201012T235046Z"
Send ComSetRequestHeader To hoHttp "x-exz-id" "1234"
// Send a GET request to https://www.example.com/someting?param1=123¶m2=abc
Move "https://www.example.com/someting?param1=123¶m2=abc" To sUrl
Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
If (Not(IsComObjectCreated(hoResp))) Begin
Send CreateComObject of hoResp
End
Get pvComObject of hoResp to vResp
Get ComHttpNoBody Of hoHttp "GET" sUrl vResp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
// The GET request that is sent looks like this.
// The Accept and Accept-Encoding headers are automatically added by default.
// GET /someting?param1=123¶m2=abc HTTP/1.1
// Host: www.example.com
// Accept: */*
// Accept-Encoding: gzip
// x-exz-date: 20201012T235046Z
// x-exz-id: 1234
// Get the response status
Get ComStatusCode Of hoResp To iStatusCode
Showln "Response status: " iStatusCode
// Get the response body
Get ComBodyStr Of hoResp To sTemp1
Showln sTemp1
// -------------------------------------------------------------
// Let's say we want to send a DELETE request, and we only want to accept an application/json response,
// and we don't want gzipped responses...
// First remove the previously specified custom headers.
Send ComClearHeaders To hoHttp
// Indicate we only accept application/json non-gzipped responses.
Set ComAccept Of hoHttp To "application/json"
Set ComAllowGzip Of hoHttp To False
// Send a DELETE request to https://www.example.com/deleteSomething
Move "https://www.example.com/deleteSomething" To sUrl
Get pvComObject of hoResp to vResp
Get ComHttpNoBody Of hoHttp "DELETE" sUrl vResp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
// The DELETE request that is sent looks like this.
// The empty Accept-Encoding header value means we only want non-compressed responses.
// DELETE /deleteSomething HTTP/1.1
// Host: www.example.com
// Accept: application/json
// Accept-Encoding:
// Get the response status
Get ComStatusCode Of hoResp To iStatusCode
Showln "Response status: " iStatusCode
// Get the response body
Get ComBodyStr Of hoResp To sTemp1
Showln sTemp1
End_Procedure