阿里云-日志服务SLS云虚拟主机云托付专有宿主机阿里云-高性能计算阿里云-云服务器块存储EBS对象存储OSS文件存储NAS表格存储混合云备份混合云存储阵列sa混合云容灾HDR存储容量单位包云原生关系型数据库PolarDB云原生分布式数据库 PolarDB-X云数据库RDS MySQL 版云数据库RDS SQL Server 版云数据库RDS PostgreSQL 版云原生数据仓库AnalyticDB MySQL版云原生数据仓库 AnalyticDB PostgreSQL云原生数据湖分析云原生多模数据库 Lindorm云数据库 Redis 版云数据库 MongoDB 版云数据库 HBase 版云数据库专属集群MyBase云数据库 OceanBase 版数据库自治服务DASDDOS防护WEB应用防火墙云安全中心云防火墙SSL证书数据安全中心风险识别应用身份服务MaxComputeMaxCompute 交互式分析E-MapReduceElasticsearch实时计算 Flink 版智能数据构建与管理 Dataphin数据总线DataWorksQuick BI 数据可视化分析平台专有网络VPC弹性公网PCDN负载均衡NAT网关共享流量包共享宽带全球加速VPN网关云企业网智能接入网关CDN边缘节点服务ENS视频直播视频点播音视频通信媒体处理容器服务ACK企业级分布式应用消息队列 RocketMQ 版消息队列 Kafka 版函数计算FC性能测试PTS应用实时监控服务AliOS Things企业物联网平台物联网边缘计算物联网无线连接服务钉钉宜搭阿里邮箱云呼叫中心移动开发平台 mPaaS短信服务号码隐私保护号码认证服务混合云管理平台移动研发平台机器学习平台内容安全智能对话机器人自然语言处理NLP全息空间图像搜索图像识别智能语音交互云服务器BCC云数据库 SCS for Redis 版云数据库RDS负载均衡负载均衡BLB智能云解析DNS弹性公网IP EIP共享宽带NAT网关私有网络VPC对等连接VPN网关内容分发网络CDN专属服务器DCC函数计算CFC云磁盘CDS对象存储BOS云应用引擎百度太行·弹性裸金属服务器云呼叫中心容器实例短视频 SDK实时音视频RTC视频创作分发平台音视频直播音视频处理云虚拟主机智能门户短网址服务SSL证书文档服务ElasticsearchMapReduce消息服务 for Kafka百度数据仓库 Palo Doris版日志服务BLS数据可视化Sugar应用防火墙 WAFDDoS防护服务号码安全服务 SPNS流量审计人脸离线识别SDK人脸识别人脸识别私有化部署包文字识别银行卡识别通用场景文字识别网络图片文字识别语言处理基础技术图像识别人体分析智能对话定制与服务平台UNIT图像搜索图像增强人体分析私有化部署包身份证识别商标注册智能呼叫文档服务离线语音合成媒体内容审核物联网核心套件时序时空数据库TSDB云监控问卷调研服务腾讯智能钛机器学习 TI-ML全球应用加速全站加速网络内容分发网络安全加速网络DNS域名解析T-Sec 等级保护合规咨询服务T-Sec 业务风险情报T-Sec 安全运营中心T-Sec 天御 风控平台腾讯会议腾讯企业邮云硬盘CBS云HDFS文件存储CFS日志服务CLS归档存储存储网关CSG对象存储网络消息服务Ckafka消息服务CMQ短信SMS即时通信边缘计算机弹性容服务器黑石物理服务器云函数SFC云服务器CVM专用宿主机CDH云点播实时音视频视频处理企业直播云直播移动直播SDK数据万象数据安全审计敏感数据处理云加密机密钥管理系统堡垒机云数据库独享集群分布式数据库DCDB云数据库 TencentDB for CTSDB云数据库 TencentDB for MongoDB云数据库 TencentDB for Memcached云数据库 TencentDB for MariaDB云数据库 TencentDB for MySQL云数据库 TencentDB for PostgreSQL云数据库 TencentDB for Redis云数据库 TencentDB for SQL Server自定义模板 OCR图像分析apinodenetc++gopythonphpjava
China云商城
欢迎访问华云贸联旗下网站
- 专业云服务供应商 -
C++

京东云 C++ 签名库

基本说明

京东云C++签名工具提供了C++语言访问京东云OpenAPI时的请求签名功能,它以AccessKey和SecretKey为素材,将HTTP请求的相关信息经过多次处理,再加上时间和nonce随机值对请求进行签名。使用本签名工具可以节省您编写签名过程的时间,没有正确签名,有可能会造成无法正常访问京东云OpenAPI。使用签名功能,可以保证您的身份不被冒充。请注意AK/SK的安全。

本签名工具使用C++11标准,以静态库的方式提供。使用的大致流程是:

  • 将依赖的头文件和静态库通过cmake工具引入您的项目

  • 将HTTP请求的信息填充到签名工具的 HttpRequest对象中

  • 调用签名接口

  • 把返回的HttpRequest对象中Header的Authorization、x-jdcloud-date、x-jdcloud-nonce三项及其值放到您的真实请求Header中

  • 然后向京东云OpenAPI网关发起调用

安装方法

Linux (Ubuntu)

sudo add-apt-repository ppa:jdcloud/sdk
sudo apt-get update
sudo apt-get install libjdcloud-signer-dev

MacOS

  1. 安装 homebrew

  2. 运行如下脚本

sh
brew tap jdcloud-api/tap
# 稳定版
brew install libjdcloud_signer
# git head 版
brew install libjdcloud_signer --HEAD

Windows

  1. 安装Visual Stdio 2015以上版本,官方地址为:https://visualstudio.microsoft.com/

  2. 安装CMake 3.5以上版本,官方地址为:https://cmake.org/

  3. 在下载代码目录中执行cmake .

  4. 下载openssl库并安装,地址:http://slproweb.com/products/Win32OpenSSL.html

  5. 使用Visual Studio打开Demo.sln解决方案,编译。生成路径为:src/Debug。

使用方法

  • 请参考 examples

调用方法

cpp
// 引用头文件
#include "jdcloud_signer/Credential.h"
#include "jdcloud_signer/JdcloudSigner.h"
#include "jdcloud_signer/http/HttpTypes.h"
#include "jdcloud_signer/http/HttpRequest.h"
#include "jdcloud_signer/logging/Logging.h"
#include "jdcloud_signer/logging/ConsoleLogSystem.h"

using namespace std;
using namespace jdcloud_signer;

// 配置日志
ConsoleLogSystem* cls = new ConsoleLogSystem(LogLevel::Debug);
shared_ptr<ConsoleLogSystem> log(cls);
InitializeLogging(log);

// 创建HttpRequest对象
HttpRequest request(URI("http://www.jdcloud-api.com/v1/regions/cn-north-1/instances?pageNumber=2&pageSize=10"), HttpMethod::HTTP_GET);
request.SetHeaderValue(CONTENT_TYPE_HEADER, "application/json");
request.SetHeaderValue(USER_AGENT_HEADER, "JdcloudSdkCpp/1.0.2 vm/0.7.4");

// 创建签名对象
Credential credential("YOUR AK", "YOUR SK");
JdcloudSigner signer(credential, "vm", "cn-north-1");

// 调用签名方法
bool result = signer.SignRequest(request);
if(result)
{
    // 把Header中的三项 "Authorization、x-jdcloud-date、x-jdcloud-nonce" 放到真正的请求头中
    // 向京东云网关发起HTTP请求
}
else
{
    return;
}

FAQ

如何使用 openssl 1.1 编译?

Ubuntu 18.04

sudo apt install libssl-dev
cmake .
make
sudo make install

MacOS X

brew install openssl@1.1
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1/ .
make
sudo make install

注意:

  • 京东云并没有提供其他下载方式,请务必使用上述官方下载方式!

  • version 的版本号需要使用京东云产品提供的最新版本号。例如:示例中VM所使用的最新版本号可到官方提供的API 更新历史 中查询到。

  • 每支云产品都有自己的Client,当调用该产品API时,需使用该产品的Client。例如:使用云主机的VmClient只能调用云主机(Vm)的接口;使用高可用组的AgClient只能调用高可用组(Ag)的接口。

产品文档(1)

   C++

访问量
在线客服
 
 
热线电话
400-0859-668
留言提交
 
 
 
 
会员登录
获取验证码
登录
登录
其他账号登录:
我的资料
我的收藏
购物车
0
留言
回到顶部