Skip to content

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