Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) QR Code Generator via api.qrserver.com REST APISee more HTTP ExamplesDemonstrates how to generate a QR code using the api.qrserver.com REST API service. For more information, see https://goqr.me/api/doc/create-qr-code/
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkBinData.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; 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 success.i ; Send the following GET request to get a binary response. ; The body of the binary response contains the image data for the QR code. ; https://api.qrserver.com/v1/create-qr-code/?data=[URL-encoded-text]&size=[pixels]x[pixels] queryParams.i = CkJsonObject::ckCreate() If queryParams.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateString(queryParams,"data","Hello World") CkJsonObject::ckUpdateString(queryParams,"size","100x100") ; Get a PNG file.. ; Possible formats are: ; png ; gif ; jpeg ; jpg ; svg ; eps ; Case matters. Use lowercase. CkJsonObject::ckUpdateString(queryParams,"format","png") ; Send the GET request to an endpoint. ; Chilkat will add the url-encoded query params passed in the JSON. resp.i = CkHttp::ckQuickRequestParams(http,"GET","https://api.qrserver.com/v1/create-qr-code/",queryParams) If CkHttp::ckLastMethodSuccess(http) = 0 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkJsonObject::ckDispose(queryParams) ProcedureReturn EndIf ; Did it succeed? If CkHttpResponse::ckStatusCode(resp) <> 200 ; The response body, if anything, would not be the image data, but would likely be the error text (or HTML, or whatever...) Debug CkHttpResponse::ckBodyStr(resp) Debug "Response status = " + Str(CkHttpResponse::ckStatusCode(resp)) Debug "Failed." CkHttpResponse::ckDispose(resp) CkHttp::ckDispose(http) CkJsonObject::ckDispose(queryParams) ProcedureReturn EndIf ; Success if we get here.. ; Save the binary body as the PNG file, or you can get the bytes of the PNG.. success = CkHttpResponse::ckSaveBodyBinary(resp,"c:/temp/qa_output/qr_code.png") ; Or get the bytes: bd.i = CkBinData::ckCreate() If bd.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkHttpResponse::ckGetBodyBd(resp,bd) ; Use the bytes in bd... ; See the online reference documentation for the function to access the bytes directly. CkHttpResponse::ckDispose(resp) Debug "Success." CkHttp::ckDispose(http) CkJsonObject::ckDispose(queryParams) CkBinData::ckDispose(bd) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.