函数:http.post 发送 httpPOST/httpsPOST 请求
函数名称:发送 httpPOST/httpsPOST 请求
函数功能:发送 httpPOST/httpsPOS 类型请求
函数方法
status,header,content = http.post(url,tb)
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
url | string | 是 | 请求 URL |
tb | table | 是 | table 参数 |
table 参数介绍
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
headers | table | 否 | 请求头部内容,本参数必须与请求体一起填写 |
params | table | 否 | 字段对,会转换成 aaa=111&bbb=222 的形式 |
opts | table | 否 | 对返回值进行转码 |
opts 参数介绍
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
charset | string | 否 | 是否对返回值进行转码,不写默认不进行转码, gbk - 将 gbk 格式数据转换成 utf-8 格式数据 |
返回值 | 类型 | 说明 |
---|---|---|
status | number | HTTP 状态码 |
header | string | 返回头部 |
content | string | 返回内容 |
函数用例
--请严格按照参数名称及格式进行填写,否则会出现请求错误的问题
require("tsnet")
local url = "https://www.baidu.com"
header_send = {aaa=123,cd=12}
body_send = {aaa=111,bbb=222}
status,header,content = http.post(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
注意事项
如果不想提交 key = value 形式,可以不带 params 字段,可以使用 postdata = 要发送的数据格式的数据进行请求。
不使用 http.setTimeout 函数默认超时时间为 10 秒。
使用 ts.so 函数出现问题可以使用此函数试下。
-iOS 仅支持个人版、旗舰版、小精灵、专业版及企业版。
Android 支持标准版、旗舰版、小精灵及企业版,标准版需要登录账号、购买 VIP 并且在调用过程中账号需要保持登录状态否则会导致调用失效。
请严格按照参数名称及格式进行填写,否则会出现请求错误的问题。
如果参数中有类似 “%E8%A7%A6%E5%8A%A8%E7%B2%BE%E7%81%B5” 的参数并且运行代码后发现和网络请求的结果不显示,请使用 urlDecoder 函数将此段代码编码后重新运行代码再试下。
- 如果想上传图片或者文件可以使用函数: imageBase64编码后进行上传。