函数:http.get 发送 httpGET/httpsGET 请求
函数名称:发送 httpGET/httpsGET 请求
函数功能:发送 httpGET/httpsGET 类型请求
函数方法
status,header,content = http.get(url,tb)
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
url | string | 是 | 请求 URL |
tb | table | 是 | table 参数 |
table 参数介绍
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
headers | table | 否 | 请求头部内容,本参数必须与请求体一起填写 |
params | table | 否 | 字段对,会转换成 aaa=111&bbb=222 的形式 |
opts | table | 否 | 文件保存路径及对返回值进行转码 |
opts 参数介绍
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
save | string | 否 | 文件保存路径 |
charset | string | 否 | 是否对返回值进行转码,不写默认不进行转码, gbk - 将 gbk 格式数据转换成 utf-8 格式数据 |
返回值 | 类型 | 说明 |
---|---|---|
status | number | HTTP 状态码 |
header | string | 返回头部 |
content | string | 返回内容 |
函数用例
--[[
请严格按照参数名称及格式进行填写,否则会出现请求错误的问题
本示例不可直接使用,url 需要修改为正确的网络地址
]]
require("tsnet")
local url = "https://www.baidu.com"
header_send = {
["Content-Type"] = "application/x-www-form-urlencoded",
["Accept-Encoding"] = "gzip",
["typeget"] = "ios"
}
body_send = {["msg"] = "hello"}
status,header,content = http.get(url,{headers=header_send,params=body_send,opts={charset="gbk"}})
if status == 200 then
toast("成功",5)
dialog(header,6)
dialog(content,6)
else
dialog("失败")
end
require("tsnet")
local url = "https://whois.pconline.com.cn/ip.jsp"
status,header,content = http.get(url,{headers={aaa=123,cd=12},params={aaa=111,bbb=222},
opts={charset="gbk"}
}
)
dialog(status)
dialog(header)
dialog(content)
--下载图片
require("tsnet")
tb = {
opts = {
save = userPath().."/res/1.jpg"
}
}
status,header,content = http.get("http://p0.so.qhmsg.com/sdr/720_1080_/t01f0c2107148464d50.jpg",tb)
if status == 200 then
dialog("下载成功")
else
dialog("下载失败")
end
注意事项
如果使用了ops 参数中的 save 参数,则返回值中的 header 和 content 将失效,都为空字符串。
不使用 http.setTimeout 函数默认超时时间为 10 秒。
使用 ts.so 函数出现问题可以使用此函数试下。
iOS 仅支持个人版、旗舰版、小精灵、专业版及企业版。
Android 支持标准版、旗舰版、小精灵及企业版,标准版需要登录账号、购买 VIP 并且在调用过程中账号需要保持登录状态否则会导致调用失效。
请严格按照参数名称及格式进行填写,否则会出现请求错误的问题。
如果参数中有类似 “%E8%A7%A6%E5%8A%A8%E7%B2%BE%E7%81%B5” 的参数并且运行代码后发现和网络请求的结果不显示,请使用 urlDecoder 函数将此段代码编码后重新运行代码再试下。
- 如果想上传图片或者文件可以使用函数: imageBase64编码后进行上传。