HTTPS连接服务器
本文档介绍了HTTPS连接服务器的大致流程,测试服务器为httpbin.org。
HTTPS连接服务器流程
创建证书文件
创建一个文件
AT+FSCREATE=<filename>
参数:<filename>
文件名
写入CA证书
AT+FSWRITE=<filename>,<mode>,<filesize>,<inputtime>
参数:
<filename>
文件名
<mode>
0 从头写文件 1 从尾写文件
<filesize>
要写入的数据长度 注:不能超过10240个字节
<inputtime>
输入持续的时间
PDP上下文激活
设置 GPRS 承载类型
AT+SAPBR=3,1,"CONTYPE","GPRS"
配置 APN 参数
AT+SAPBR=3,1,"APN",""
激活 GPRS PDP 上下文
AT+SAPBR=1,1
检查承载状态
AT+SAPBR=2,1
设置证书文件
HTTP协议栈初始化
AT+HTTPINIT
启用SSL
AT+HTTPSSL=1
设置服务器CA 证书
AT+SSLCFG="cacert",153[,<cacertpath>]
参数:<cacertpath>
证书文件路径
连接服务器
设置HTTP会话参数:CID
AT+HTTPPARA="CID",1
设置HTTP会话参数:URL
AT+HTTPPARA="URL","https://xxx.xxx"
HTTPS GET/POST
GET请求
AT+HTTPACTION=0
POST请求
AT+HTTPACTION=1
POST写数据
AT+HTTPDATA=<size>,<time>
参数:
<size>
POST数据的大小
<time>
输入数据的最长时间
读取从HTTP 服务器GET的数据
AT+HTTPREAD
关闭连接
结束HTTP服务
AT+HTTPTERM
HTTPS GET
» AT+FSCREATE="ca.crt"//创建服务器端CA 证书文件
OK
» AT+FSWRITE="ca.crt",0,1118,15//将CA证书写入文件
>
» >-----BEGIN CERTIFICATE-----
......
-----END CERTIFICATE-----
«
OK
» AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
» AT+SAPBR=3,1,"APN",""//设置PDP承载之APN参数
OK
» AT+SAPBR=1,1
OK
» AT+SAPBR=2,1
+SAPBR: 1,1,"10.47.217.254"
OK
» AT+HTTPINIT//HTTP协议栈初始化
OK
» AT+HTTPSSL=1//开启SSL功能开关为开
OK
» AT+SSLCFG="cacert",153,"ca.crt"//设置服务器CA 证书
OK
» AT+HTTPPARA="CID",1//设置HTTP会话参数:CID
OK
» AT+HTTPPARA="URL","https://httpbin.org"//设置HTTP会话参数:URL
OK
» AT+HTTPACTION=0//GET 开始
OK
+HTTPACTION: 0,200,9593
» AT+HTTPREAD//读取从HTTP 服务器GET的数据
+HTTPREAD: 9593
......
OK
» AT+HTTPTERM//结束HTTP服务
OK
HTTPS POST
» AT+FSCREATE="ca.crt"//创建服务器端CA 证书文件
OK
» AT+FSWRITE="ca.crt",0,1118,15//将CA证书写入文件
>
» >-----BEGIN CERTIFICATE-----
......
-----END CERTIFICATE-----
«
OK
» AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
» AT+SAPBR=3,1,"APN",""//设置PDP承载之APN参数
OK
» AT+SAPBR=1,1//开启SSL功能开关为开
OK
» AT+SAPBR=2,1
+SAPBR: 1,1,"10.30.200.156"
OK
» AT+HTTPINIT//HTTP协议栈初始化
OK
» AT+HTTPSSL=1//开启SSL功能开关为开
OK
» AT+SSLCFG="cacert",153,"ca.crt"//设置服务器CA 证书
OK
» AT+HTTPPARA="CID",1//设置HTTP会话参数:CID
OK
» AT+HTTPPARA="URL","https://httpbin.org/post" //设置HTTP会话参数:URL
OK
» AT+HTTPDATA=4,100000//输入4个字节,等待时间是10S,输入时间要设定的足够大以保证数据输入
DOWNLOAD
» 中国
«
OK
» AT+HTTPACTION=1//POST 开始
OK
+HTTPACTION: 1,200,393
» AT+HTTPREAD//读取内容
+HTTPREAD: 393
{
"args": {},
"data": "data:application/octet-stream;base64,5Lit5Q==",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Content-Length": "4",
"Host": "httpbin.org",
"User-Agent": "YCOM_MODULE",
"X-Amzn-Trace-Id": "Root=1-68394974-12c2f1e166bc40de62b52370"
},
"json": null,
"origin": "39.144.238.225",
"url": "https://httpbin.org/post"
}
OK
» AT+HTTPSSL=1//结束HTTP服务
OK