![]() |
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
(C) Finnhub API - Get Stock QuoteSee more AI ExamplesDemonstrates how to get a stock quote from the Finnhub API.Note: This example requires Chilkat v11.4.0 or greater.
#include <C_CkHttp.h> #include <C_CkHttpRequest.h> #include <C_CkHttpResponse.h> #include <C_CkJsonObject.h> void ChilkatSample(void) { BOOL success; const char *apiKey; const char *symbol; HCkHttp http; const char *urlWithoutParams; HCkHttpRequest req; HCkHttpResponse resp; HCkJsonObject json; int statusCode; success = FALSE; // Replace with your actual Finnhub API key. apiKey = "YOUR_FINNHUB_API_KEY"; symbol = "AAPL"; http = CkHttp_Create(); // This is the URL without params. urlWithoutParams = "https://finnhub.io/api/v1/quote"; req = CkHttpRequest_Create(); // Add params that will be sent in the URL. CkHttpRequest_AddParam(req,"symbol",symbol); CkHttpRequest_AddParam(req,"token",apiKey); CkHttpRequest_putHttpVerb(req,"GET"); // Send the request to get the JSON response. resp = CkHttpResponse_Create(); success = CkHttp_HttpReq(http,urlWithoutParams,req,resp); if (success == FALSE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttp_Dispose(http); CkHttpRequest_Dispose(req); CkHttpResponse_Dispose(resp); return; } json = CkJsonObject_Create(); CkHttpResponse_GetBodyJson(resp,json); statusCode = CkHttpResponse_getStatusCode(resp); printf("response status code: %d\n",statusCode); CkJsonObject_putEmitCompact(json,FALSE); printf("%s\n",CkJsonObject_emit(json)); // Sample result: // { // "c": 248.8, // "d": -4.09, // "dp": -1.6173, // "h": 255.493, // "l": 248.07, // "o": 253.9, // "pc": 252.89, // "t": 1774641600 // } if (statusCode == 200) { // Add the symbol to the top of the result. CkJsonObject_AddStringAt(json,0,"symbol",symbol); // Rename members for clarification. CkJsonObject_Rename(json,"c","currentPrice"); CkJsonObject_Rename(json,"d","change"); CkJsonObject_Rename(json,"dp","percentChange"); CkJsonObject_Rename(json,"h","high"); CkJsonObject_Rename(json,"l","low"); CkJsonObject_Rename(json,"o","open"); CkJsonObject_Rename(json,"pc","prevClose"); CkJsonObject_Rename(json,"t","unixTime"); printf("%s\n",CkJsonObject_emit(json)); } else { printf("Failed\n"); } CkHttp_Dispose(http); CkHttpRequest_Dispose(req); CkHttpResponse_Dispose(resp); CkJsonObject_Dispose(json); } |
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.