羊驼商人 API 无法连接 httplib
Alpaca Traders API Unable to Connect with httplib
我正在尝试使用 Alpaca Traders 的 C++ 包装器 API 在此处找到:
https://github.com/marpaia/alpaca-trade-api-cpp#client-instantiation
但是,我什至无法连接到我的模拟交易账户。
这是用于获取 Alpaca 帐户的包装器中的代码:
httplib::Headers headers(const Environment& environment) {
return {
{"APCA-API-KEY-ID", environment.getAPIKeyID()},
{"APCA-API-SECRET-KEY", environment.getAPISecretKey()},
};
}
std::pair<Status, Account> Client::getAccount() const {
Account account;
httplib::SSLClient client(environment_.getAPIBaseURL());
auto resp = client.Get("/v2/account", headers(environment_));
if (!resp) {
return std::make_pair(Status(1, "Call to /v2/account returned an empty response"), account);
}
}
问题是我收到无法连接的错误消息:
Error: resp.error(): Connection (2)
我检查了环境,解析正确,我还试了下面的curl命令,也能获取到http页面。
curl -X GET -H "APCA-API-KEY-ID: {YOUR_API_KEY_ID}"
-H "APCA-API-SECRET-KEY: {YOUR_API_SECRET_KEY}"
https://paper-api.alpaca.markets/v2/account
所以我的机器可以找到并获取页面,因此一定是代码中的错误。任何帮助将不胜感激。
我发现了问题。查看 cpp-httplib github 上的文档后,SSLClient 在 URL 的开头没有 https://
,而我有它导致了问题。
所以你想要:
httplib::SSLClient client("paper-api.alpaca.markets");
而不是:
httplib::SSLClient client("https://paper-api.alpaca.markets");
第二个连接不上
我正在尝试使用 Alpaca Traders 的 C++ 包装器 API 在此处找到:
https://github.com/marpaia/alpaca-trade-api-cpp#client-instantiation
但是,我什至无法连接到我的模拟交易账户。
这是用于获取 Alpaca 帐户的包装器中的代码:
httplib::Headers headers(const Environment& environment) {
return {
{"APCA-API-KEY-ID", environment.getAPIKeyID()},
{"APCA-API-SECRET-KEY", environment.getAPISecretKey()},
};
}
std::pair<Status, Account> Client::getAccount() const {
Account account;
httplib::SSLClient client(environment_.getAPIBaseURL());
auto resp = client.Get("/v2/account", headers(environment_));
if (!resp) {
return std::make_pair(Status(1, "Call to /v2/account returned an empty response"), account);
}
}
问题是我收到无法连接的错误消息:
Error: resp.error(): Connection (2)
我检查了环境,解析正确,我还试了下面的curl命令,也能获取到http页面。
curl -X GET -H "APCA-API-KEY-ID: {YOUR_API_KEY_ID}"
-H "APCA-API-SECRET-KEY: {YOUR_API_SECRET_KEY}"
https://paper-api.alpaca.markets/v2/account
所以我的机器可以找到并获取页面,因此一定是代码中的错误。任何帮助将不胜感激。
我发现了问题。查看 cpp-httplib github 上的文档后,SSLClient 在 URL 的开头没有 https://
,而我有它导致了问题。
所以你想要:
httplib::SSLClient client("paper-api.alpaca.markets");
而不是:
httplib::SSLClient client("https://paper-api.alpaca.markets");
第二个连接不上