正在加载文档
HttpPost向指定网络地址提交数据
# 向指定网络地址提交数据
> 格式:HttpPost 参数1 参数2 参数3 参数4
### 参数说明:
|位置|说明|备注|
|:----:|-----|-----|
|参数1|Url网页地址|http://127.0.0.1 或 http://www.TTM2.com 之类|
|参数2|模式|0:txt / 1:json / 2: form / 99:get|
|参数3|提交数据|字符串 或 标准json数据|
|参数4|回调函数|提交成功并回调QF脚本中指定的函数,不回调则留空|
- ***JSON执行标准(RFC 6901标准)***
- 参数2可填写数值或者直接写`TXT`、`json`、`form`、`GET`
- 参数2=99或GET时,参数3不可以省略,可书写任意内容,请求时不生效
### 模式详解
|位置|说明|备注|
|:----:|-----|-----|
|0|txt|TTM2您好|
|1|json|{"code":188,"msg":"TTM2您好","timestamp":1762601925,"data":{"order_info":{"order_sn":"6ccf2583c07d67a68553bc3575d529db","price":25},"serial_list":[1,2,3]}}|
|2|form|msg=test&price=25|
|99|get|任意字符|
### 回调函数返回常量
|位置|说明|
|:----:|-----|
|<$JSON>|完整回调参数|
|<$JSONN_Status>|返回状态码|
|<$JSONN_XXX>|读取json数值型路径值 XXX:json路径|
|<$JSONS_XXX>|读取json字符型路径值 XXX:json路径|
- 整个返回的Json文本 <$JSON>
- 整个读取节点整数型 <$JSONN_data/order_info/price>
- 整个读取节点文本型 <$JSONS_data/order_info/order_sn>
- 整个读取数组节点整数型 <$JSONN_data/serial_list/2> `数组序号从0开始`
<BR>
# 检测节点路径是否存在
> 格式:CheckJsonNodeExists 参数1 参数2
### 参数说明:
|位置|说明|
|:----:|-----|
|参数1|json内容|
|参数2|节点路径|
|返回|条件通过返回真|
<BR>
# 检测节点路径是否存在并且类型为数组对象
> 格式:CheckJsonNodeIsArray 参数1 参数2
### 参数说明:
|位置|说明|
|:----:|-----|
|参数1|json内容|
|参数2|节点路径|
|返回|条件通过返回真|
<BR>
# 检测节点路径是否存在并且类型为json对象
> 格式:CheckJsonNodeIsObject 参数1 参数2
### 参数说明:
|位置|说明|
|:----:|-----|
|参数1|json内容|
|参数2|节点路径|
|返回|条件通过返回真|
<BR>
# 检测节点路径是否存在并且值为`null`
> 格式:CheckJsonNodeIsNull 参数1 参数2
### 参数说明:
|位置|说明|
|:----:|-----|
|参数1|json内容|
|参数2|节点路径|
|返回|条件通过返回真|
<BR>
# 取节点路径的数组成员数量,失败输出变量等于默认值
> 格式:JsonGetNodeArrLen 参数1 参数2 参数3 参数4
### 参数说明:
|位置|说明|
|:----:|-----|
|参数1|json内容|
|参数2|节点路径|
|参数3|保存变量(字符型)|
|参数4|默认值|
<BR>
# 取节点路径的内容,失败输出变量等于默认值
> 格式:JsonGetNodeValue 参数1 参数2 参数3 参数4
### 参数说明:
|位置|说明|
|:----:|-----|
|参数1|json内容|
|参数2|节点路径|
|参数3|保存变量(字符型)|
|参数4|默认值|
<BR>
# 检测服务器HttpPost请求队列是否未满,并返回队列数量
> 格式:CHECKHTTPQUEUE 参数1
### 参数说明:
|位置|说明|备注|
|:----:|-----|-----|
|参数1|保存变量|返回队列数量,参数可为空
### 示例:
```
[@HTTPPOST]
#if
CHECKHTTPQUEUE S0
#act
HTTPPOST http://125.77.163.115:3003 0 你好 @httppost回调_txt
HTTPPOST http://125.77.163.115:3003 1 {"code":0,"msg":"订单已提交,请稍后查询状态","timestamp":1762601925,"data":{"order_info":{"order_sn":"6ccf2583c07d67a68553bc3575d529db","price":25},"serial_list":[1,2,3]}} @httppost回调_json
HTTPPOST http://125.77.163.115:3003 2 msg=test&price=25 @httppost回调_form
HTTPPOST http://125.77.163.115:3003 99 get @httppost回调_get
#IF
#ACT
SENDMSG 5 当前队列数量:<$STR(S0)>
;QF脚本
[@httppost回调_txt]
#if
#act
sendmsg 5 httppost回调_txt
GOTO @httppost回调_打印
sendmsg 6 ===========================================
[@httppost回调_json]
#if
#act
sendmsg 5 httppost回调_json
GOTO @httppost回调_打印
sendmsg 6 ===========================================
[@httppost回调_form]
#if
#act
sendmsg 5 httppost回调_form
GOTO @httppost回调_打印
sendmsg 6 ===========================================
[@httppost回调_get]
#if
#act
sendmsg 5 httppost回调_get
GOTO @httppost回调_打印
sendmsg 6 ===========================================
[@httppost回调_打印]
#IF
#ACT
;JSON类型严格对照,否则读取数据为空。
sendmsg 7 Status:<$JSONN_Status>
sendmsg 7 code:<$JSONN_code>
sendmsg 7 msg:<$JSONS_msg>
sendmsg 7 data:<$JSONS_data>
sendmsg 7 order_sn:<$JSONS_data/order_info/order_sn>
sendmsg 7 price:<$JSONN_data/order_info/price>
sendmsg 7 serial_list(数组序号0开始):<$JSONN_data/serial_list/0>
sendmsg 7 Json:<$JSON>
#if
CheckJsonNodeExists <$JSON> data/order_info/order_sn
#act
sendmsg 7 节点data/order_info/order_sn存在
#elseact
sendmsg 5 节点data/order_info/order_sn不存在
#if
CheckJsonNodeIsArray <$JSON> data/serial_list
#act
sendmsg 7 节点serial_list是数组
#elseact
sendmsg 5 节点serial_list不是数组
#if
CheckJsonNodeIsObject <$JSON> data
#act
sendmsg 7 节点data是对象型
#elseact
sendmsg 5 节点data不是对象型
#if
CheckJsonNodeIsNull <$JSON> data/order_info/price
#act
sendmsg 7 节点data/order_info/price为null
#elseact
sendmsg 5 节点data/order_info/price不为null
#if
#Act
JsonGetNodeArrLen <$JSON> data/serial_list S0 *
sendmsg 7 serial_list组数量=><$STR(S0)>
JsonGetNodeValue <$JSON> data/order_info/order_sn S1 *
sendmsg 7 order_sn节点内容=><$STR(S1)>
```