OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 14189|回复: 16

ESP8266如何发送HTTPS请求?

[复制链接]

12

主题

228

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1728
金钱
1728
注册时间
2016-3-8
在线时间
677 小时
发表于 2018-3-7 14:09:46 | 显示全部楼层 |阅读模式
10金钱
百度文库有篇文档《使用ESP8266的AT指令调用网络数据接口实例教程》,介绍了通过ESP8266获取北京时间的方法。内容如下:

一、开发环境
 网络数据接口平台:www.nowapi.com
 Wi-Fi模块型号:ESP8266 ESP-01
 AT指令集版本:0.40.0.0
 SDK版本:1.3.0
二、实验目的
使用ESP8266的AT指令查询标准北京时间API提供的北京时间。
三、实验步骤
(每条AT指令后均需要添加换行后再发送)  
1. 使用串口发送指令AT+CWMODE=1设置模块Wi-Fi应用模式为Station模式;  2. 发送指令AT+RST重启模块使应用模式更改生效;  3. 发送指令AT+CWJAP =“ssid”,”pwd”连接AP;  
4. 发送指令AT+CIPMUX=0设置模块为单路连接模式,模块默认为单路连接模式;  5. 发送指令AT+CIPSTART=“TCP”,”api.k780.com”,88与服务器建立TCP连接,域名前面一定不能加”http://”!;  
6. 发送指令AT+CIPMODE=1设置模块传输模式为透传模式;  
7. 发送指令AT+CIPSEND开启透传模式向服务器发送数据,模块收到此指令后先换行后返回”>“,每包数据以20ms间隔区分,每包最大2048字节;  
8. 然后发送以下内容向服务器发出HTTP请求获取北京时间(不可以用HTTP/1.1):
GET http://api.k780.com:88/?app=life.time&appkey={APPKEY}&sign={SIGN}&format=json HTTP/1.0\r\n\r\n
其中APPKEY和SIGN用你自己nowapi账户的Appkey和Sign代替,这里给出一个示例URL:  
http://api.k780.com:88/?app=life ... c99f2a4&format=json
更多请求方式请参考API说明页面;  
9.然后模块返回如下信息:
HTTP/1.1 200 OK
Date: Fri, 17 Jun 2016 14:30:44 GMT Server: Apache Content-Length: 207 Connection: close
Content-Type: application/json; charset=utf-8;  
{“success”:”1”,”result”:{“timestamp”:”1466173844”,”datetime_1”:”2016-06-17 22:30:44”,”datetime_2”:”2016年06月17日 22时30分44秒”,”week_1”:”5”,”week_2”:”星期五”,”week_3”:”周五”,”week_4”:”Thursday”}}
单片机可以从返回信息中解析出北京时间;  
10. 20ms后发送指令+++退出透传模式返回指令模式(后面不要换行);  11. 最后发送指令AT+CIPCLOSE断开模块与服务器的TCP连接。


例子中发送的是HTTP的GET请求,
请问,如果是HTTPS的GET请求呢??



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

1041

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3696
金钱
3696
注册时间
2011-5-23
在线时间
2008 小时
发表于 2018-3-7 14:49:01 | 显示全部楼层
ESP8266里面塞SSL有点难。。
RT-Thread RTOS 音频,WIFI,蓝牙
回复

使用道具 举报

12

主题

228

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1728
金钱
1728
注册时间
2016-3-8
在线时间
677 小时
 楼主| 发表于 2018-3-7 14:56:55 | 显示全部楼层
本帖最后由 adlu 于 2018-3-7 14:58 编辑
aozima 发表于 2018-3-7 14:49
ESP8266里面塞SSL有点难。。

能不能通过MCU控制ESP8266,用AT指令 + 透传来做?
我用串口调试助手,按照1楼描述的步骤,是可以用GET方法获取北京时间信息的。
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5136
金钱
5136
注册时间
2014-8-26
在线时间
1316 小时
发表于 2018-3-7 21:39:54 | 显示全部楼层
模块是支持HTTPS的,看下AT指令集 里面有相关的SSL的指令
回复

使用道具 举报

8

主题

569

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2363
金钱
2363
注册时间
2015-5-8
在线时间
320 小时
发表于 2018-3-7 22:48:14 | 显示全部楼层
学习学习
回复

使用道具 举报

12

主题

228

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1728
金钱
1728
注册时间
2016-3-8
在线时间
677 小时
 楼主| 发表于 2018-3-8 09:33:56 | 显示全部楼层
login_FAE 发表于 2018-3-7 21:39
模块是支持HTTPS的,看下AT指令集 里面有相关的SSL的指令

这方面我算是个小白,还请版主不吝赐教
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5136
金钱
5136
注册时间
2014-8-26
在线时间
1316 小时
发表于 2018-3-8 10:10:55 | 显示全部楼层
adlu 发表于 2018-3-8 09:33
这方面我算是个小白,还请版主不吝赐教

我也只是弄过HTTP   HTTPS没有接触过呢
回复

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2018-3-8
在线时间
5 小时
发表于 2018-3-8 16:42:40 | 显示全部楼层
顶!顶!顶!顶!顶!顶!
回复

使用道具 举报

8

主题

156

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1553
金钱
1553
注册时间
2016-11-21
在线时间
411 小时
发表于 2018-8-13 21:26:09 | 显示全部楼层
AT+CIPSTART=“SSL”,”api.k780.com”,443就能建立https链接了
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2018-10-4
在线时间
0 小时
发表于 2018-10-4 23:31:01 | 显示全部楼层
msq001 发表于 2018-8-13 21:26
AT+CIPSTART=“SSL”,”api.k780.com”,443就能建立https链接了

好像没有用啊
我这返回错误
AT+CIPSTART="SSL","www.bigiot.net",443


ERROR
CLOSED
回复

使用道具 举报

8

主题

156

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1553
金钱
1553
注册时间
2016-11-21
在线时间
411 小时
发表于 2018-10-8 10:09:35 | 显示全部楼层
hdright 发表于 2018-10-4 23:31
好像没有用啊
我这返回错误
AT+CIPSTART="SSL","www.bigiot.net",443

你建立连接前先用 AT+CIPSSLSIZE=4096,把SSL buffer size设置到 4K 再试试,我刚试了一下你这个链接是可以的
回复

使用道具 举报

3

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
336
金钱
336
注册时间
2016-9-19
在线时间
54 小时
发表于 2019-3-14 11:39:32 | 显示全部楼层
login_FAE 发表于 2018-3-8 10:10
我也只是弄过HTTP   HTTPS没有接触过呢

老哥 请假下http透传怎么搞呢
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2019-8-11
在线时间
17 小时
发表于 2019-11-4 22:59:31 | 显示全部楼层
学习学习!!   我也想知道
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2019-10-31
在线时间
10 小时
发表于 2019-11-12 13:51:39 | 显示全部楼层
请问,用串口调试助手,得到的返回值里面的汉字,比如“星期二”乱码,怎么解决?
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2019-12-15
在线时间
0 小时
发表于 2019-12-15 21:20:37 | 显示全部楼层
msq001 发表于 2018-10-8 10:09
你建立连接前先用 AT+CIPSSLSIZE=4096,把SSL buffer size设置到 4K 再试试,我刚试了一下你这个链接是可 ...

具体一点可以吗?大神~~
回复

使用道具 举报

1

主题

56

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
264
金钱
264
注册时间
2017-10-11
在线时间
79 小时
发表于 2020-3-1 11:26:59 | 显示全部楼层
回复

使用道具 举报

3

主题

13

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2019-12-19
在线时间
11 小时
发表于 2021-8-20 11:09:21 | 显示全部楼层
GET HTTPS 有搞好了的吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 09:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表