易语言POST提交后获取网址参数
发布网友
发布时间:2022-05-07 16:06
我来回答
共2个回答
热心网友
时间:2022-06-30 15:34
url地址中添加参数的一般是Get请求,post通常请求参数数据在数据主体中,但也存在一些在url地址中附带的(比如微信这个傻叉!!)。
请求的完整网址在协议头里有,可以获取协议头中【Referer】这个子协议头的值。
然后就简单了吧。以“?”分割文本,问号后面的就是参数表,以“&”分割每个参数表,以“=”对每个参数的键值进行分割,就得到了。
如下图,把所有的参数键值对存入了数组中。
.版本 2
' * “Accept */*”
' * “Referer http://192.168.1.101:80/api/wechat/test?name=123&age-14&echostr=aaaa”
' * “User-Agent Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)”
' * “Accept-Language zh-cn”
' * “Cache-Control no-cache”
' * “Content-Length 0”
' * “Content-Type application/x-www-form-urlencoded”
' * “Host 192.168.1.101”
url = m_Server.GetHeader (_serverID, dwConnID, “Referer”)
n = 寻找文本 (url, “?”, , 假)
.如果真 (n = -1)
返回 (0)
.如果真结束
.如果真 (取文本右边 (url, 1) = “?”)
返回 (0)
.如果真结束
temp = 取文本右边 (url, 取文本长度 (url) - n) ' name=123&age-14&echostr=aaaa
array = 分割文本 (temp, “&”, )
.如果真 (取数组成员数 (array) ≥ 1)
清除数组 (paragms)
.计次循环首 (取数组成员数 (array), n)
temp2 = 分割文本 (array [n], “=”, )
.如果真 (取数组成员数 (temp2) = 2)
header.name = temp2 [1]
header.value = temp2 [2]
加入成员 (paragms, header)
.如果真结束
.计次循环尾 ()
返回 (取数组成员数 (array))
.如果真结束
返回 (0)
热心网友
时间:2022-06-30 15:34
看代码你的就不对 ,服务器和客户是基于tcp的链接,是属于即时通讯
而你想做的事post数据到web服务器。
html代码=到文本(http读文件(""))
上面的肯定有返回数据。是百度首页的html代码。
而你的按钮点击事件是post提交到web 至于你说的没有返回数据,是你的网址没有返回数据。
你是严重的把功能弄混了。
你用服务器组件开通的端口,去post 那根本提交不过去的。
post是web的,服务器没有这个功能!
服务器和客户,网页这2个根本不是一个东西