![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript 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) Viewing the Raw HTTP Request Generated from a curl CommandSee more CURL ExamplesThis example demonstrates how to convert a By calling In this example, a This technique is helpful when troubleshooting issues related to request composition, encoding, or server-side behavior. Note: This example requires Chilkat v11.5.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 -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @success int SELECT @success = 0 -- Build a curl command and convert it to the raw HTTP request that would be sent. -- This allows you to inspect the exact request (headers + body) without actually sending it. -- curl -X POST https://httpbin.org/post \ -- -H "Content-Type: application/json" \ -- -d '{ -- "title": "foo", -- "body": "bar", -- "userId": 1 -- }' -- The backslashes at the end of lines are not required. Chilkat ignores them if present. DECLARE @sbTargetCurl int EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbTargetCurl OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END EXEC sp_OAMethod @sbTargetCurl, 'AppendLn', @success OUT, ' curl -X POST https://httpbin.org/post \' EXEC sp_OAMethod @sbTargetCurl, 'AppendLn', @success OUT, ' -H "Content-Type: application/json" \' EXEC sp_OAMethod @sbTargetCurl, 'AppendLn', @success OUT, ' -d ''{' EXEC sp_OAMethod @sbTargetCurl, 'AppendLn', @success OUT, ' "title": "foo",' EXEC sp_OAMethod @sbTargetCurl, 'AppendLn', @success OUT, ' "body": "bar",' EXEC sp_OAMethod @sbTargetCurl, 'AppendLn', @success OUT, ' "userId": 1' EXEC sp_OAMethod @sbTargetCurl, 'AppendLn', @success OUT, ' }''' DECLARE @httpCurl int EXEC @hr = sp_OACreate 'Chilkat.HttpCurl', @httpCurl OUT -- Convert the curl command into a raw HTTP request string. -- This is useful for debugging, as it shows exactly what would be sent to the server -- (request line, headers, and body) for the given curl command. DECLARE @sbRawRequest int EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbRawRequest OUT EXEC sp_OAMethod @sbTargetCurl, 'GetAsString', @sTmp0 OUT EXEC sp_OAMethod @httpCurl, 'ToRawRequest', @success OUT, @sTmp0, @sbRawRequest IF @success = 0 BEGIN EXEC sp_OAGetProperty @httpCurl, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @sbTargetCurl EXEC @hr = sp_OADestroy @httpCurl EXEC @hr = sp_OADestroy @sbRawRequest RETURN END -- Display the generated raw HTTP request. EXEC sp_OAMethod @sbRawRequest, 'GetAsString', @sTmp0 OUT PRINT @sTmp0 -- Expected output: -- POST /post HTTP/1.1 -- Host: httpbin.org -- Content-Type: application/json -- Content-Length: 96 -- -- { -- "title": "foo", -- "body": "bar", -- "userId": 1 -- } EXEC @hr = sp_OADestroy @sbTargetCurl EXEC @hr = sp_OADestroy @httpCurl EXEC @hr = sp_OADestroy @sbRawRequest END GO |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.