我最近开始编写一个 C++ 程序,通过他们的 API 从 tdameritrade 获取和发布数据。我是 cURL 的新手。tdameritrade 为他们的 API 提供了一些指南。他们确实提供了可以从终端或通过 python 运行的简单命令。例如 curl -X GET --header "Authorization: Bearer accesscode" "https://api.tdameritrade.com/v1/marketdata/GOOGL/pricehistory?apikey=userkey&periodType=day&period=2&frequencyType=minute&frequency=5“。
在本例中,此命令将返回股票 (GOOGL) 的价格历史记录。我正在尝试使用 ubuntu 中的 libcurl 库实现相同的命令。这是我的代码快照:
#include "curl/curl.h"
int main(){
const std::string myheader("Authorization: Bearer accesscode");
const std::string url("https://api.tdameritrade.com/v1/marketdata/GOOGL/pricehistory?apikey=userkey&periodType=day&period=2&frequencyType=minute&frequency=5");
CURL* curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
.
.
.
curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &httpCode);
curl_easy_cleanup(curl);
}
但我不知道如何将 --header 部分实现到 curl 选项中。请提供建议。谢谢!!!
答案1
要添加标题,您需要使用
struct curl_slist *headers=NULL;
headers = curl_slist_append(headers, "Authorization: Bearer accesscode");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);