![]() |
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
(Tcl) curl POST with JSON Input and JSON OutputSee more CURL ExamplesDemonstrates running a simple curl command with JSON input and JSON output.Note: This example requires Chilkat v11.5.0 or greater.
load ./chilkat.dll set success 0 # Run the following curl command # 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. set sbTargetCurl [new_CkStringBuilder] CkStringBuilder_AppendLn $sbTargetCurl " curl -X POST https://httpbin.org/post \\" CkStringBuilder_AppendLn $sbTargetCurl " -H \"Content-Type: application/json\" \\" CkStringBuilder_AppendLn $sbTargetCurl " -d '{" CkStringBuilder_AppendLn $sbTargetCurl " \"title\": \"foo\"," CkStringBuilder_AppendLn $sbTargetCurl " \"body\": \"bar\"," CkStringBuilder_AppendLn $sbTargetCurl " \"userId\": 1" CkStringBuilder_AppendLn $sbTargetCurl " }'" set httpCurl [new_CkHttpCurl] # Run the curl command. set success [CkHttpCurl_DoYourThing $httpCurl [CkStringBuilder_getAsString $sbTargetCurl]] if {$success == 0} then { puts [CkHttpCurl_lastErrorText $httpCurl] delete_CkStringBuilder $sbTargetCurl delete_CkHttpCurl $httpCurl exit } set responseJson [new_CkJsonObject] CkJsonObject_put_EmitCompact $responseJson 0 CkHttpCurl_GetResponseJson $httpCurl $responseJson set statusCode [CkHttpCurl_get_StatusCode $httpCurl] puts "response status code: $statusCode" puts [CkJsonObject_emit $responseJson] # Output: # response status code: 200 # { # "args": {}, # "data": "{\r\n \"title\": \"foo\",\r\n \"body\": \"bar\",\r\n \"userId\": 1\r\n }", # "files": {}, # "form": {}, # "headers": { # "Content-Length": "96", # "Content-Type": "application/json", # "Host": "httpbin.org", # "X-Amzn-Trace-Id": "Root=1-69e8db8b-459b3bdf7b7a3bc749184968" # }, # "json": { # "body": "bar", # "title": "foo", # "userId": 1 # }, # "origin": "123.222.222.222", # "url": "https://httpbin.org/post" # } # ---------------------------------------------------------------------------------- # Another example: # curl -X POST https://postman-echo.com/post \ # -H "Content-Type: application/json" \ # -d '{"foo":"bar"}' set targetCurl "curl -X POST https://postman-echo.com/post -H \"Content-Type: application/json\" -d '{\"foo\":\"bar\"}'" # Run the curl command. set success [CkHttpCurl_DoYourThing $httpCurl $targetCurl] if {$success == 0} then { puts [CkHttpCurl_lastErrorText $httpCurl] delete_CkStringBuilder $sbTargetCurl delete_CkHttpCurl $httpCurl delete_CkJsonObject $responseJson exit } CkHttpCurl_GetResponseJson $httpCurl $responseJson set statusCode [CkHttpCurl_get_StatusCode $httpCurl] puts "response status code: $statusCode" puts [CkJsonObject_emit $responseJson] # Output: # response status code: 200 # { # "args": {}, # "data": { # "foo": "bar" # }, # "files": {}, # "form": {}, # "headers": { # "host": "postman-echo.com", # "content-length": "13", # "content-type": "application/json", # "x-forwarded-proto": "https", # "accept-encoding": "gzip, br" # }, # "json": { # "foo": "bar" # }, # "url": "https://postman-echo.com/post" # } delete_CkStringBuilder $sbTargetCurl delete_CkHttpCurl $httpCurl delete_CkJsonObject $responseJson |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.