![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) HTTP GET with Non-USASCII Query ParamsSee more HTTP ExamplesThis example illustrates how query parameters in a URL are typically encoded and transmitted.Note: This example requires Chilkat v11.0.0 or greater.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- 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. DECLARE @sbCompanyName int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbCompanyName OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int EXEC sp_OAMethod @sbCompanyName, 'LoadFile', @success OUT, 'qa_data/txt/companyName.txt', 'utf-8' -- 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. DECLARE @sbUrl int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbUrl OUT EXEC sp_OAMethod @sbUrl, 'Append', @success OUT, 'https://chilkatsoft.com/example?company_name=' EXEC sp_OAMethod @sbCompanyName, 'GetEncoded', @sTmp0 OUT, 'url', 'utf-8' EXEC sp_OAMethod @sbUrl, 'Append', @success OUT, @sTmp0 DECLARE @http int -- Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT -- 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 DECLARE @sbResponse int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbResponse OUT EXEC sp_OAMethod @sbUrl, 'GetAsString', @sTmp0 OUT EXEC sp_OAMethod @http, 'QuickGetSb', @success OUT, @sTmp0, @sbResponse IF @success = 0 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @sbCompanyName EXEC @hr = sp_OADestroy @sbUrl EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @sbResponse RETURN END EXEC sp_OAGetProperty @http, 'LastStatus', @iTmp0 OUT PRINT 'response status code: ' + @iTmp0 EXEC sp_OAMethod @sbResponse, 'GetAsString', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @sbCompanyName EXEC @hr = sp_OADestroy @sbUrl EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @sbResponse END GO |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.