admin 发表于 2022-10-24 04:51:57

【自定义dll和子程序】

先复习一下上一课的内容

【2】dll映射的默认规则在不指定dll的情况下,EWEB默认将得的的http数据传递给et.dll
在不指定子程序名的情况下,如果是文本接口,EWEB默认将得到的http数据传递给子程序t,如果是字节集接口,EWEB默认将得到的http数据传递给子程序b
假设我们指定的dll是test.dll,那么附加指令就是
指定的子程序名称为:fn,那么附加指令就是
例子:
①:表示调用test.dll中的fn子程序
②:表示调用et.dll中的fn子程序(根据默认原则没有指定dll,因此数据会传递给et.dll)
③:表示调用et.dll,如果使用的是文本接口则将数据传递给t子程序,如果使用的是字节集接口则将数据传递给b子程序,如果fn是文本类型的子程序接口,那么就加在post数据里面,如果是字节集接口就加在get数据里面
文本接口请求代码例子(附加指令加在post数据前)
.版本 2

.子程序 _按钮_文本请求_被单击, , , 向文本接口-fn发送请求
.局部变量 get数据
.局部变量 post数据, 文本型
.局部变量 返回值, 文本型

get数据 = “666”
post数据 = “123456”
返回值 = 到文本 (网页_访问 (“http://” + “127.0.0.1/6887160A931997EB?” + get数据, 1, post数据))

字节集接口请求代码例子(附加指令加在get数据前)
.版本 2

.子程序 _按钮_字节集请求_被单击, , , 向字节集接口-fn发送请求
.局部变量 get数据, 文本型
.局部变量 post数据, 字节集
.局部变量 返回值, 文本型

get数据 = “666”
post数据 = “123456”

post数据 = #图片1
返回值 = 到文本 (网页_访问 (“http://” + “127.0.0.1/6887160A931997EB?”+ get数据, 1, , , , , , , post数据))


提示:大家可能会有疑问,为什么我要把提交网址写成“http://” + “127.0.0.1/65781619B0AR7E?”这种格式,这是因为我直接连起来写论坛发帖时会当成一个跳转链接,影响大家复制代码,不是什么特殊的写法


dll接口代码
.版本 2

.程序集 基础接口

.子程序 t, 文本型, 公开, 文本拓展接口
.参数 get数据, 文本型
.参数 post数据, 文本型
.参数 ip, 文本型
.参数 传递序号, 整数型
.参数 请求序号, 整数型
.局部变量 传入文本值, 文本型
.局部变量 返回文本值, 文本型



' 中间写运算代码
返回文本值 = “文本接口调用成功”
返回 (返回文本值)

.子程序 b, 文本型, 公开
.参数 get数据, 文本型
.参数 字节集地址, 整数型
.参数 字节集长度, 整数型
.参数 ip, 文本型
.参数 传递序号, 整数型
.参数 请求序号, 整数型
.局部变量 传入字节集, 字节集
.局部变量 返回字符串, 文本型

传入字节集 = 指针到字节集 (字节集地址, 字节集长度)' 这里得到的就是接收到的字节集

' 中间写运算代码
返回字符串 = 校验_取md5 (传入字节集)' 这是教程写的一个返回md5的功能,目的是检测传输是否丢包
返回 (返回字符串)


文本类型的自定义接口以t为模板(可以复制改个子程序名即可),字节集类型的自定义接口以b为模板
点击返回: 【EWEB总览】
页: [1]
查看完整版本: 【自定义dll和子程序】