你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ESP8266如何发送HTTPS请求?

[复制链接]
adlu 提问时间:2018-3-7 14:13 /
悬赏10ST金币未解决
百度文库有篇文档《使用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请求呢??

收藏 评论10 发布时间:2018-3-7 14:13

举报

10个回答
Angel_YY_ST 回答时间:2018-3-7 15:23:32
提示: 作者被禁止或删除 内容自动屏蔽
butterflyspring 回答时间:2018-3-7 15:46:20
看来ESP8266不少人用,我刚用他做了一个IOT的TCP传输,还是比较简单使用的.你说的http就没用过了

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

adlu 回答时间:2018-3-7 16:13:42
Angel_YY 发表于 2018-3-7 15:23
esp8266 发起https 请求,请求 https 的api 等等,整个项目工程见附件。虽然不是STM32的代码,应该可以参考 ...

谢谢。这个是arduino的例程,我看看
Msq002 回答时间:2018-8-13 21:23:42
AT+CIPSTART=“SSL”,”api.k780.com”,443 就可以建立https连接了
飞跃1998 回答时间:2018-8-27 20:14:14
学习
hdright 回答时间:2018-10-5 11:22:54
Msq002 发表于 2018-8-13 21:23
AT+CIPSTART=“SSL”,”api.k780.com”,443 就可以建立https连接了

好像这样也不行啊

AT+CIPSTART="SSL","api.k780.com",443


ERROR
CLOSED
dcr1105 回答时间:2019-12-6 10:03:16
楼主搞定了吗?HTTPS GET怎么请求
很大的鱼 回答时间:2019-12-13 19:21:30
配置WIFI模块连接服务器,进入透传模式,发给GET请求就行了
dcr1105 回答时间:2020-3-12 16:39:51
dangtiaojing 发表于 2019-12-13 19:21
配置WIFI模块连接服务器,进入透传模式,发给GET请求就行了

透传模式支持https?您有试过吗?能否分享下命令语句?看官方AT spec说不支持
墨雨汐 回答时间:2023-9-10 22:57:30

小挖个坟,前面那位哥们说的没有问题,ESP8266确实可以通过

AT+CIPSTART="SSL","www.baidu.com",443

建立https连接,但是前提需要在运行CIPSTART命令前设置SSL buffer 大小

AT+CIPSSLSIZE=4096

如此设置后便可成功建立HTTP SSL连接了

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版