DataFlex
DataFlex
HTTP GET with Non-USASCII Query Params
See more HTTP Examples
This example illustrates how query parameters in a URL are typically encoded and transmitted.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoSbCompanyName
Handle hoSbUrl
Handle hoHttp
Variant vSbResponse
Handle hoSbResponse
String sTemp1
Integer iTemp1
Move False To iSuccess
// This example assumes the Chilkat HTTP API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// First, let's load the string "Grünhöfer GmbH" from a file. (This is a fictitious company name.)
// The file uses the utf-8 charset encoding.
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbCompanyName
If (Not(IsComObjectCreated(hoSbCompanyName))) Begin
Send CreateComObject of hoSbCompanyName
End
Get ComLoadFile Of hoSbCompanyName "qa_data/txt/companyName.txt" "utf-8" To iSuccess
// Assuming success for this example...
// We'll send an HTTP GET request to https://chilkatsoft.com/example?company_name={company name}
// When sending an HTTP GET request with query parameters that contain accented characters
// (e.g., umlauts: ä, ö, ü), they must be percent-encoded (URL encoded) to ensure proper transmission and
// interpretation by the server. This is based on their UTF-8 byte values.
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbUrl
If (Not(IsComObjectCreated(hoSbUrl))) Begin
Send CreateComObject of hoSbUrl
End
Get ComAppend Of hoSbUrl "https://chilkatsoft.com/example?company_name=" To iSuccess
Get ComGetEncoded Of hoSbCompanyName "url" "utf-8" To sTemp1
Get ComAppend Of hoSbUrl sTemp1 To iSuccess
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
// Send the following HTTP GET request:
// GET /example?company_name=Gr%C3%BCnh%C3%B6fer%20GmbH HTTP/1.1
// Host: chilkatsoft.com
// Accept: */*
// Accept-Encoding: gzip
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponse
If (Not(IsComObjectCreated(hoSbResponse))) Begin
Send CreateComObject of hoSbResponse
End
Get ComGetAsString Of hoSbUrl To sTemp1
Get pvComObject of hoSbResponse to vSbResponse
Get ComQuickGetSb Of hoHttp sTemp1 vSbResponse To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComLastStatus Of hoHttp To iTemp1
Showln "response status code: " iTemp1
Get ComGetAsString Of hoSbResponse To sTemp1
Showln sTemp1
End_Procedure