![]() |
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 POST x-www-form-urlencodedDemonstrates how to send a simple x-www-form-urlencoded POST. 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) DECLARE @success int SELECT @success = 0 DECLARE @http int EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @jsonStr nvarchar(4000) SELECT @jsonStr = '{ some json ... }' DECLARE @req int EXEC @hr = sp_OACreate 'Chilkat.HttpRequest', @req OUT -- This query parameter just happens to be named "json" and contains JSON text. EXEC sp_OAMethod @req, 'AddParam', NULL, 'json', @jsonStr -- We can optionally add more query parameters. EXEC sp_OAMethod @req, 'AddParam', NULL, 'abc', '123' EXEC sp_OAMethod @req, 'AddParam', NULL, 'xml', '<abc>123</abc>' -- Note: Just because we passed a query param named "json" or "xml" means nothing special. It's still just -- a name=value query parameter.. EXEC sp_OASetProperty @req, 'HttpVerb', 'POST' EXEC sp_OASetProperty @req, 'ContentType', 'application/x-www-form-urlencoded' DECLARE @resp int EXEC @hr = sp_OACreate 'Chilkat.HttpResponse', @resp OUT EXEC sp_OAMethod @http, 'HttpReq', @success OUT, 'http://example.com/xyz/connect/report', @req, @resp IF @success = 0 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp RETURN END EXEC sp_OAGetProperty @resp, 'StatusCode', @iTmp0 OUT IF @iTmp0 <> 200 BEGIN PRINT 'Hey, I didn''t receive the expected response status code!' EXEC sp_OAGetProperty @resp, 'StatusCode', @iTmp0 OUT PRINT 'status code = ' + @iTmp0 END -- Could be error text if the status code wasn't what we expected, or could be the response -- body you're seeking.. DECLARE @responseBody nvarchar(4000) EXEC sp_OAGetProperty @resp, 'BodyStr', @responseBody OUT PRINT @responseBody DECLARE @fac int EXEC @hr = sp_OACreate 'Chilkat.FileAccess', @fac OUT DECLARE @filepath nvarchar(4000) SELECT @filepath = 'some file path' EXEC sp_OAMethod @fac, 'WriteEntireTextFile', @success OUT, @filepath, @responseBody, 'utf-8', 0 IF @success <> 1 BEGIN EXEC sp_OAGetProperty @fac, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 END EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp EXEC @hr = sp_OADestroy @fac END GO |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.