当前位置: 首页 > news >正文

专业的南京网站建设建站是什么意思

专业的南京网站建设,建站是什么意思,国家市场监管总局反垄断局官网,网站字体标准文章目录 概要http客户端通过请求下载数据 概要 当某个需求是需要在模块内请求接口拿到数据,需要使用http客户端调用接口 http客户端 LuaSOC请求接口官方文档 调用:http.request(method,url,headers,body,opts,ca_file,client_ca, client_key, clien…

文章目录

    • 概要
    • http客户端
    • 通过请求下载数据

概要

当某个需求是需要在模块内请求接口拿到数据,需要使用http客户端调用接口

http客户端

LuaSOC请求接口官方文档

调用:http.request(method,url,headers,body,opts,ca_file,client_ca, client_key, client_password)

参数:

传入值类型

解释

string

请求方法, 支持 GET/POST 等合法的HTTP方法

string

url地址, 支持 http和https, 支持域名, 支持自定义端口

tabal

请求头 可选 例如 {[“Content-Type”] = “application/x-www-form-urlencoded”}

string/zbuff

body 可选

table

额外配置 可选 包含 timeout:超时时间单位ms 可选,默认10分钟,写0即永久等待 dst:下载路径,可选 adapter:选择使用网卡,可选 debug:是否打开debug信息,可选,ipv6:是否为ipv6 默认不是,可选 callback:下载回调函数,参数 content_len:总长度 body_len:以下载长度 userdata 用户传参,可选 userdata:回调自定义传参

string

服务器ca证书数据, 可选, 一般不需要

string

客户端ca证书数据, 可选, 一般不需要, 双向https认证才需要

string

客户端私钥加密数据, 可选, 一般不需要, 双向https认证才需要

string

客户端私钥口令数据, 可选, 一般不需要, 双向https认证才需要

返回值:

返回值类型

解释

int

code , 服务器反馈的值>=100, 最常见的是200.如果是底层错误,例如连接失败, 返回值小于0

tabal

headers 当code>100时, 代表服务器返回的头部数据

string/int

body 服务器响应的内容字符串,如果是下载模式, 则返回文件大小

headers请求头有就写没有就空的,body参数也是的

GET请求

http.request("GET","http://www.baidu.com",{},"",opts)

POST请求

http.request("POST","http://www.baidu.com",{},"",opts)

通过请求下载数据

下载文件的示例代码:

--[[
xmodem 下载文件
@api downloadFile(url, destination,texpected_md5ype)
@string url http客户端请求地址
@string destination 文件路径
@string expected_md5 MD5校验
@return bool 结果
@usage
downloadFile("http://www.bai.com","/luadb/test.bin")
]]
-- -- 下载文件并验证MD5
local CONFIG = {destination = "/data.bin",timeout = 30000,          -- 超时时间(毫秒)max_retries = 3,          -- 最大重试次数retry_delay = 1000,       -- 重试间隔时间(毫秒)
}
local function downloadFile(url, destination, expected_md5)local req_headers = {['Content-Type'] = 'application/octet-stream',['Accept'] = 'application/octet-stream'}for attempt = 1, CONFIG.max_retries dolog.info(string.format("下载尝试 %d/%d: %s", attempt, CONFIG.max_retries, url))local opts = {dst = destination,timeout = CONFIG.timeout}local response = http.request("GET", url, req_headers, "", opts)if not response thenlog.error("HTTP 请求失败")elselocal code, headers, body = response.wait()log.info("HTTP 响应", "状态码:", code)if code == 200 thenlog.info("文件成功下载到:", destination)-- 打开并读取下载的文件local f = io.open(destination, "rb")log.info("打开的文件",f)if not f thenlog.error("无法打开文件:", destination)elselocal data = f:read("*a")f:close()if not data thenlog.error("文件读取失败:", destination)else-- 验证文件内容local crc = crypto.md5(data)log.info("MD5 校验", crc)if crc == expected_md5 thenlog.info("MD5 校验通过")sys.publish("download_success", true)http_download.download_request = 1return trueelselog.error("MD5 校验未通过")sys.publish("download_success", false)http_download.download_request = 0return falseendendendelselog.error("HTTP 请求失败,状态码:", code)endend-- 如果下载失败,等待后重试if attempt < CONFIG.max_retries thenlog.warn(string.format("下载失败,%d毫秒后重试...", CONFIG.retry_delay))sys.wait(CONFIG.retry_delay)endend-- 所有重试尝试均失败log.error("所有下载尝试均失败")sys.publish("download_success", false)return false
end-- 下载任务初始化
sys.taskInit(function()sys.wait(500)sys.waitUntil("IP_READY") -- 等待网络连接log.info("网络已就绪,开始等待下载指令...")while true dolocal _, data = sys.waitUntil("download")if data thenlocal downloadUrl = data:sub(5, -35)local expected_md5 = data:sub(-32, -1)local destination = CONFIG.destinationlog.info("收到下载指令:", string.fromHex(downloadUrl), "预期MD5:", expected_md5)if downloadUrl and #downloadUrl > 0 thenlocal decoded_url = string.fromHex(downloadUrl)if decoded_url and #decoded_url > 0 thendownloadFile(decoded_url, destination, expected_md5)elselog.error("下载URL解码失败或为空")sys.publish("download_success", false)endelselog.warn("下载URL无效或为空")sys.publish("download_success", false)endelselog.warn("未收到有效的下载指令")sys.wait(600000) -- 休眠10分钟后继续循环endend
end)

下载成功的示例:

http://www.yidumall.com/news/18596.html

相关文章:

  • 如何把自己做的网站分享给别人用网站推广在线
  • 建设企业网站模板下载百度营销客户端
  • wordpress网站发布百度快照投诉中心
  • 利用建站系统wordpress建设网站百度竞价培训
  • 域名和网站的区别提升seo排名平台
  • 盐城哪家做网站的正规杭州网站seo优化
  • 宁波市住房和城乡建设厅网站seo有哪些优化工具
  • 深圳做夜场做网站百度搜首页
  • 电子商务网站建设的好处有哪些企业网站排名优化价格
  • nodejs可以做网站么合肥网络公司seo建站
  • 购物网站怎么做SEO如何快速搭建网站
  • 深圳燃气公司电话95158盛大游戏优化大师
  • wordpress机器人企业网站的搜索引擎推广与优化
  • 做网站需要哪几个板块百度应用商店app
  • 福建漳州网站建设价格推广平台开户代理
  • 企业网站网址能打开各种网站的浏览器下载
  • 腾讯云建站流程sem推广软件
  • 宁波网站建设流程有哪些百度关键词价格排行榜
  • 哪个网站容易做二级域名推广广告赚钱软件
  • 去哪里做网站比较好万网是什么网站
  • 网站制作公司怎么运营程序员培训机构哪家好
  • 网站切换中英文优化公司治理结构
  • 临海市住房与城乡建设规划局网站成功的营销案例及分析
  • 网站建设推广服务2021最近最火的关键词
  • 电子商务网站建设一般流程现在最好的免费的建站平台
  • wordpress 发布时间不对青岛seo排名扣费
  • 可信赖的邢台做网站高端网站建设公司排名
  • 手机网站建设的方法关键词排名工具有哪些
  • 网站不关站备案网络营销整合推广
  • 日本 女做视频网站app推广有哪些渠道