目录名称

  • 如何用开发板实现http功能
    • 简介
    • 材料准备
    • 步骤
    • HTTPS双向验证流程
    • 常见问题
    • 相关资料以及购买链接

如何用开发板实现http功能

简介

HTTP 指南
http是物联网中常用的功能,本文介绍如何用Air724开发板,通过http get 一个文件的功能演示和简要说明。

材料准备

  1. EVB_Air724UG_A13开发板一套,包括天线SIM卡,USB线。
  2. luat开发环境:环境搭建方法

步骤

本文主要演示怎样通过http get获取一个文件的过程。

  1. lua上只需要调用一下http请求函数就可以了,发送HTTP请求代码如下:
http.request("GET","http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/attachment/20210402160231070_httptest.txt",nil,nil,nil,nil,cbFnc)

从上面的接口可以看出,我们这里用的是HTTP的GET请求方法。

HTTP请求的url是:http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/attachment/20210402160231070_httptest.txt

HTTP请求的回调函数cbFnc :用来通知,请求发送结果以及应答数据接收结果。

  1. 回调函数代码
local function cbFnc(result,prompt,head,body)log.info("testHttp.cbFnc result",result)log.info("testHttp.cbFnc prompt",prompt)if result and head thenfor k,v in pairs(head) dolog.info("testHttp.cbFnc head",k..": "..v)endendif result and body thenlog.info("testHttp.cbFnc","boby:"..body,"bodyLen="..body:len())end
end

回调函数我们打印了result,prompt,head,body这些主要信息,便于我们分析。
3. 打印log分析
http发送请求log,如下所示,http实际上也是通过TCP连接的,没写端口的情况下,默认端口为80 ,超时时间为120秒。

回调函数log,result为true时,true表示成功收到了服务器的应答,prompt为200为网站可正常访问时的状态, head为table类型,详细信息如log显示,body为实体数据:http get test,长度大小为:13。

  1. 可以通过浏览器,直接访问连接确认下载数据是否正确。

这里可以看出我们实际打印出的数据和通过浏览器获取的数据是一致的,说明我们这个获取的数据是 正确。

  1. 测试脚本
    testhttp.7z

HTTPS双向验证流程

与HTTP连接步骤相同,在发起请求之前配置好如下三个参数:
{
caCert = “ca.crt”, --CA证书文件(Base64编码 X.509格式),如果存在此参数,则表示客户端会对服务器的证书进行校验;不存在则不校验
clientCert = “client.crt”, --客户端证书文件(Base64编码 X.509格式),服务器对客户端的证书进行校验时会用到此参数
clientKey = “client.key”, --客户端私钥文件(Base64编码 X.509格式)
clientPassword = “123456”, --客户端证书文件密码[可选]
}
相关API见

  • https “cert” 参数
    1.准备好上述三个文件“ca.crt”,“client.crt”,“client.key”
    2.配置代码
http.request("GET","https://36.7.87.100:4434",{caCert="ca.crt",clientCert = "client.crt",clientKey = "client.key"},nil,nil,nil,cbFnc)

回调函数代码

local function cbFnc(result,prompt,head,body)log.info("testHttp.cbFnc",result,prompt)if result and head thenfor k,v in pairs(head) dolog.info("testHttp.cbFnc",k..": "..v)endendif result and body thenlog.info("testHttp.cbFnc","body="..body)end
end

常见问题

  1. [testHttp.cbFnc prompt] 404 返回404原因,说明访问的网页不存在
  2. [http.response] false network not ready,说明模块没有注册上网络,可能是卡欠费了,可以换一张卡测试。

相关资料以及购买链接

  • Air724UG如何使用http.request接口
  • Air724UG开发板购买链接
  • Air724 开发板使用说明

示例-Luat示例-HTTP相关推荐

  1. 示例-Luat示例-MQTT

    目录名称 如何用开发板实现mqtt功能 简介 材料准备 步骤 常见问题 相关资料以及购买链接 如何用开发板实现mqtt功能 简介 MQTT 指南 mqtt是物联网中最常用的功能,本文介绍如何用Air7 ...

  2. 指南-示例-luat示例-camera

    关键词:camera,摄像头 如何用开发板实现camera功能 目录名称 如何用开发板实现camera功能 简介 材料准备 步骤 常见问题 相关资料以及购买链接 简介 Air724UG支持一路摄像头接 ...

  3. php大于等于符号怎么打出来_PHP常用的特殊运算符号(连续小于符号,三个小于符号,eot,eod,echo示例,print示例)...

    最近在写PHP程序的时候发现了一些特殊的PHP符号,例如连续小于符号,三个小于符号,eot,eod,echo示例,print示例等,突然间发现用这么久的PHP了,竟然连PHP的基本符号都没有认全,看到 ...

  4. java udp 心跳,udp简略通讯示例-心跳示例

    当前位置:我的异常网» 软件架构设计 » udp简略通讯示例-心跳示例 udp简略通讯示例-心跳示例 www.myexceptions.net  网友分享于:2013-09-04  浏览:44次 ud ...

  5. 示例程序 示例一、由 CLSID 得到 ProgID......

    五.示例程序 示例一.由 CLSID 得到 ProgID.(程序以 word 为例子.如果运行不正确,嘿嘿,你没有安装 word 吧?) ::CoInitialize( NULL );HRESULT ...

  6. python程序示例-python示例程序

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! usrbinpython-- coding: utf-8 --num=[]; i= ...

  7. Luat模块应用手册-示例-Luat DEMO-长连接超低功耗方案

    如何用开发板实现 低功耗长连接 功能 目录名称 如何用开发板实现 低功耗长连接 功能 简介 材料准备 步骤 实现代码 常见问题 相关资料以及购买链接 简介 socket是物联网中最常用的功能,本文介绍 ...

  8. vlookup示例_VLOOKUP示例–如何在Excel中执行VLOOKUP

    vlookup示例 Microsoft Excel includes a variety of different functions that help users with calculation ...

  9. python软件代码示例-python 示例代码1

    第一章 python基础一 ​在此不再赘述为什么学习python这门编程,网上搜索一箩筐.我在此仅说一句python的好,用了你就会爱上它. 本python示例代码1000+带你由浅入深的了解pyth ...

最新文章

  1. saltstack批量加用户脚本
  2. 开关电源磁性元件理论及设计pdf_邵革良首席科学家丨高性价比PFC电源设计及其电感技术...
  3. linux 有名管道pipe,linux 用無名管道pipe和有名管道fifo實現線程間通信
  4. 没有理想的人不会伤心,不想做程序猿,没目标,不知道自己还能干嘛呢
  5. java编写关机恶搞程序,恶搞关机脚本代码 | 学步园
  6. 计算机硬盘分区重置,重置计算机磁盘分区后如何恢复丢失的数据
  7. c语言ad转换实验报告,有关单片机AD转换的实验报告
  8. MSM7225 600MHZ CPU和高通MSM 7201A 528MHz CPU的比较
  9. 童年经典,任天堂switch红白机游戏
  10. 巴比特 | 元宇宙每日必读:元宇宙的未来是属于大型科技公司,还是属于分散的Web3世界?...
  11. 小米9se开发版系统回刷MIUI稳定版系统
  12. NO.119 不懂语言代码,超级菜鸟的建站分享(二):界面设置。
  13. 社区产品如何搭建内容体系?看看懂球帝与虎扑如何做
  14. 如何快速跑一个sumo的交通仿真
  15. Redis List 例子
  16. ListView接收另一个页面的数值显示
  17. Go实现 Bit 数组(集合)
  18. 强烈推荐一个下载谷歌浏览器插件的网站!千万别错过!
  19. Linux搭建LDAP Account Manager(LAM)
  20. nifi apache_Apache Nifi的工作原理-浏览数据流,不要淹没其中

热门文章

  1. 弱网测试究竟要怎么做,才能防止漏测?
  2. 阿卜杜拉国王科技大学的计算机,阿卜杜拉国王科技大学,沙特国王大学开设专业。...
  3. 扫盲贴2.5寸移动硬盘的厚度有几种
  4. 2021邵阳市地区高考成绩排名查询,2021邵阳最新高中排名前十
  5. 微信小程序:云开发表情包制作源码
  6. mysql存储表情、微信小程序存储表情
  7. SpringBoot整合Quartz==适用于单任务多任务
  8. 蒙特卡罗算法的matlab实现
  9. 《网络架构系列2-Http详解》
  10. 天猫淘宝越来越难做了,为什么不考虑下跨境电商?