c++Demonstrates a very simple call RESTful API to get a stock time series daily (quotes) from Alpha Vantage.

Published

come from:https://www.example-code.com/mfc/rest_simple.asp

http://www.cknotes.com/how-to-use-mfc-cstring-in-chilkat/

#include <CkRest.h>

void ChilkatSample(void)
    {
    CkString strOut;

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    CkRest rest;

    // Connect to the REST server.
    bool bTls = true;
    int port = 443;
    bool bAutoReconnect = true;
    bool success = rest.Connect("www.alphavantage.co",port,bTls,bAutoReconnect);
    if (success != true) {
        strOut.append(rest.lastErrorText());
        strOut.append("\r\n");
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    // Get a stock quote:
    // Sending GET request to https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=MSFT&apikey=my_api_key
    success = rest.AddQueryParam("function","TIME_SERIES_DAILY");
    success = rest.AddQueryParam("symbol","AAPL");
    success = rest.AddQueryParam("apikey","my_api_key");
    const char *responseJson = rest.fullRequestNoBody("GET","/query");
    if (rest.get_LastMethodSuccess() != true) {
        strOut.append(rest.lastErrorText());
        strOut.append("\r\n");
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    strOut.append(responseJson);
    strOut.append("\r\n");

    // Sample response:
    // {
    //     "Meta Data": {
    //         "1. Information": "Daily Prices (open, high, low, close) and Volumes",
    //         "2. Symbol": "AAPL",
    //         "3. Last Refreshed": "2019-12-06",
    //         "4. Output Size": "Compact",
    //         "5. Time Zone": "US/Eastern"
    //     },
    //     "Time Series (Daily)": {
    //         "2019-12-06": {
    //             "1. open": "267.4800",
    //             "2. high": "271.0000",
    //             "3. low": "267.3000",
    //             "4. close": "270.7100",
    //             "5. volume": "25447644"
    //         },
    //         "2019-12-05": {
    //             "1. open": "263.7900",
    //             "2. high": "265.8900",
    //             "3. low": "262.7300",
    //             "4. close": "265.5800",
    //             "5. volume": "18661343"
    //         },
    //         "2019-12-04": {
    //             "1. open": "261.0700",
    //             "2. high": "263.3100",
    //             "3. low": "260.6800",
    //             "4. close": "261.7400",
    //             "5. volume": "16810388"
    //         },
    // ...
    //         "2019-07-18": {
    //             "1. open": "204.0000",
    //             "2. high": "205.8800",
    //             "3. low": "203.7000",
    //             "4. close": "205.6600",
    //             "5. volume": "18582161"
    //         }
    //     }
    // }


    SetDlgItemText(IDC_EDIT1,strOut.getUnicode());

    }

 

https://stackoverflow.com/questions/26406377/call-web-server-from-mfc-form-application

https://social.msdn.microsoft.com/Forums/vstudio/en-US/2f94ecc3-bc68-48d0-be59-27ffb20bc2c6/implement-a-rest-http-server-in-a-mfc-application?forum=vcgeneral