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
(SQL Server) HTTP POST x-www-form-urlencodedDemonstrates how to send a simple x-www-form-urlencoded POST.
// 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 DECLARE @sTmp0 nvarchar(4000) DECLARE @http int EXEC @hr = sp_OACreate 'Chilkat_9_5_0.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_9_5_0.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.. DECLARE @resp int EXEC sp_OAMethod @http, 'PostUrlEncoded', @resp OUT, 'http://example.com/xyz/connect/report', @req EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 <> 1 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req 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_9_5_0.FileAccess', @fac OUT DECLARE @filepath nvarchar(4000) SELECT @filepath = 'some file path' DECLARE @success int 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 @fac END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.