开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1689|回复: 8
收起左侧

[改进提议] 精易模块里面为什么不加个替换引号呢

[复制链接]
结帖率:98% (96/98)
发表于 2023-3-26 01:11:44 | 显示全部楼层 |阅读模式   河南省郑州市
不太懂 这样是会影响性能吗为什么不加一个 判断循环 比如传入123#引号15123#引号5123   然后搜索#引号  替换成#引号 这样的话 开发的话快一点吧  助手里面带的那个转义...感觉有点麻烦
  
子程序名返回值类型公开备 注
网页_访问_对象字节集 使用WinHttp的对象方式访问网页
参数名类 型参考可空数组备 注
网址文本型完整的网页地址,必须包含http://或者https://
访问方式整数型0=GET 1=POST 2=HEAD 3=PUT  4=OPTIONS  5=DELETE  6=TRACE  7=CONNECT
提交信息文本型"POST"专用   自动UTF8编码
提交Cookies文本型设置提交时的cookie
返回Cookies文本型返回的Cookie
附加协yi头文本型一行一个请用换行符隔开
返回协yi头文本型返回的协yi头
返回状态代码整数型网页返回的状态代码,例如:200;302;404等
禁止重定向逻辑型默认不禁止网页重定向
字节集提交字节集提交字节集数据
d理地址文本型d理地址,格式为 8.8.8.8:88
超时整数型秒|默认为15秒,-1为无限等待
d理用户名文本型用户名
d理密码文本型密码
d理标识整数型d理标识,默认为1,0为路由器
对象继承对象此处可自行提供对象,不再主动创建
是否自动合并更新Cookie逻辑型默认为真,自动合并更新
是否补全必要协yi头逻辑型当附件协yi头为空时自动添加必要的UA协yi头 默认为真,假将不再添加非传入协yi头
是否处理协yi头大小写逻辑型将协yi头中的键名首字母处理为大写  默认为真
变量名类 型静态数组备 注
局_访问方式文本型 
局_WinHttp对象 
局_发送协yi头文本型0
局_返回协yi头文本型0
局_计次整数型 
局_网页数据字节集 
局_变体提交变体型 
局_附加协yi头文本型 
如果真 (是否为空 (是否自动合并更新Cookie))
是否自动合并更新Cookie = 真

如果真 (是否为空 (是否补全必要协yi头))
是否补全必要协yi头 = 真

如果真 (是否为空 (是否处理协yi头大小写))
是否处理协yi头大小写 = 真

线程_初始化COM库 ()
如果真 (访问方式 < 0 访问方式 > 7)
访问方式 = 0
局_访问方式 = 多项选择 (访问方式 + 1, “GET”, “POST”, “HEAD”, “PUT”, “OPTIONS”, “DELETE”, “TRACE”, “CONNECT”)
判断 (是否为空 (对象继承))
如果真 (局_WinHttp.创建 (“WinHttp.WinHttpRequest.5.1”, ))
返回 ({  })

局_WinHttp = 对象继承

如果真 (超时 ≠ -1)
如果 (超时 < 1)
超时 = 15000
超时 = 超时 × 1000
局_WinHttp.方法 (“SetTimeouts”, 超时, 超时, 超时, 超时)

如果真 (d理地址 ≠ “”)
局_WinHttp.方法 (“SetProxy”, 2, d理地址)
局_WinHttp.方法 (“Open”, 局_访问方式, 网址, )
如果真 (禁止重定向)
局_WinHttp.写属性 (“Option”, 6, 0)

局_WinHttp.写属性 (“Option”, 4, 13056)  ' 忽略错误标志
局_附加协yi头 = 附加协yi头
如果真 (是否补全必要协yi头)
如果真 (寻找文本 (局_附加协yi头, “Accept:”, , ) = -1)
局_附加协yi头 = 局_附加协yi头 + #换行符“Accept: */*”

如果真 (寻找文本 (局_附加协yi头, “Referer:”, , ) = -1)
局_附加协yi头 = 局_附加协yi头 + #换行符“Referer: ” + 网址

如果真 (寻找文本 (局_附加协yi头, “Accept-Language:”, , ) = -1)
局_附加协yi头 = 局_附加协yi头 + #换行符“Accept-Language: zh-cn”

如果真 (寻找文本 (局_附加协yi头, “User-Agent:”, , ) = -1)
局_附加协yi头 = 局_附加协yi头 + #换行符“User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)”

如果真 (访问方式 = 1)
如果真 (寻找文本 (局_附加协yi头, “Content-Type:”, , ) = -1)
局_附加协yi头 = 局_附加协yi头 + #换行符“Content-Type: application/x-www-form-urlencoded”



如果真 (是否处理协yi头大小写)
局_附加协yi头 = 网页_处理协yi头 (局_附加协yi头)

如果真 (d理地址 ≠ “” d理用户名 ≠ “”)
如果真 (是否为空 (d理标识))
d理标识 = 1

局_WinHttp.方法 (“SetCredentials”, d理用户名, d理密码, d理标识)
如果真 (d理标识 = 1)
局_WinHttp.方法 (“SetRequestHeader”, “Proxy-Authorization”, “Basic ”编码_BASE64编码 (到字节集 (d理用户名 + “:” + d理密码)))


如果真 (取反 (是否为空 (提交Cookies)))
如果真 (取文本长度 (提交Cookies) > 0)
如果真 (寻找文本 (提交Cookies, “Cookie:”, , ) ≠ -1)
提交Cookies = 子文本替换 (提交Cookies, “Cookie:”, “”, , , )

局_WinHttp.方法 (“SetRequestHeader”, “Cookie”, 提交Cookies)

判断 (寻找文本 (局_附加协yi头, #换行符, , ) = -1)
局_WinHttp.方法 (“SetRequestHeader”, 内部_协yi头取名 (局_附加协yi头), 内部_协yi头取值 (局_附加协yi头))
局_发送协yi头 = 分割文本 (局_附加协yi头, #换行符, )
计次循环首 (取数组成员数 (局_发送协yi头), 局_计次)
如果真 (局_发送协yi头 [局_计次]“”)
如果真 (内部_协yi头取名 (局_发送协yi头 [局_计次])“Connection”)
如果真 (内部_协yi头取值 (局_发送协yi头 [局_计次])“keep-alive”)
到循环尾 ()  ' 筛选排除此参数 避免协yi头有此参数 HTTP对象又自动添加此参数


局_WinHttp.方法 (“SetRequestHeader”, 内部_协yi头取名 (局_发送协yi头 [局_计次]), 内部_协yi头取值 (局_发送协yi头 [局_计次]))

计次循环尾 ()

判断 (字节集提交 = {  })
局_WinHttp.方法 (“Send”, 提交信息)
局_变体提交.赋值 (字节集提交, )
局_WinHttp.方法 (“Send”, 局_变体提交)
局_网页数据 = 局_WinHttp.读属性 (“ResponseBody”, ).取字节集 ()
返回协yi头 = 局_WinHttp.读文本属性 (“GetAllResponseHeaders”, )
返回状态代码 = 局_WinHttp.读数值属性 (“Status”, )
局_WinHttp.读文本属性 (“StatusText”, )
局_返回协yi头 = 分割文本 (返回协yi头, #换行符, )
返回Cookies = “”
计次循环首 (取数组成员数 (局_返回协yi头), 局_计次)
如果真 (文本_取左边 (局_返回协yi头 [局_计次], “: ”)“Set-Cookie”)
判断 (寻找文本 (局_返回协yi头 [局_计次], “;”, , ) ≠ -1)
返回Cookies = 返回Cookies + 删首尾空 (文本_取出中间文本 (局_返回协yi头 [局_计次], “Set-Cookie:”, “;”)) + “; ”
返回Cookies = 返回Cookies + 删首尾空 (子文本替换 (局_返回协yi头 [局_计次], “Set-Cookie:”, , , , )) + “; ”


计次循环尾 ()
如果真 (取文本左边 (返回Cookies, 2)“; ”)
返回Cookies = 取文本左边 (返回Cookies, 取文本长度 (返回Cookies) - 2)

如果真 (是否自动合并更新Cookie)
如果真 (取反 (是否为空 (提交Cookies)))
返回Cookies = 网页_Cookie合并更新 (提交Cookies, 返回Cookies)

局_WinHttp.清除 ()
线程_取消COM库 ()
返回 (局_网页数据)


结帖率:0% (0/1)

签到天数: 4 天

发表于 2024-4-6 13:30:42 | 显示全部楼层   北京市北京市
绝对的大神啊
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 4 天

发表于 2024-4-5 10:59:25 | 显示全部楼层   北京市北京市
大神  膜拜你  期待我也尽快可以写出这样复杂的代码
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)

签到天数: 13 天

发表于 2024-3-25 22:52:12 | 显示全部楼层   广东省茂名市
一般人的做法是:用记事本,将双引号替换成单引号,拼接好后再替换回来。
str={'name':'Apifox','age':2,'city':'Guangzhou'}
str=子文本替换(str,"'",#引号)
回复 支持 反对

使用道具 举报

结帖率:86% (12/14)

签到天数: 8 天

发表于 2023-5-2 13:08:30 | 显示全部楼层   浙江省台州市
“特殊功能支持库”里面有个“取文本”,可以替换引号和%s、%d等。

下述内容来自网络(网络版易语言知识库):

取文本 命令   操作系统支持:Windows、Linux    所属类别:附加
为高级用户提供,初级用户无需掌握;
本命令有多项功能:将任意基本数据类型的参数或数组参数转换为文本;文本中包含引号("、“、”)和换行符等情况下的简捷处理方案;提供类似于C/C++语言中sprintf()的格式化文本功能。 示例:取文本 (“~%s~诞生于%d年秋。”, “易语言”, 2000) 等效于:“” + #左引号 + “易语言” + #右引号 + “诞生于” + 到文本 (2000) + “年秋。” 都将生成文本:““易语言”诞生于2000年秋。” 但很明显,前者比后者简捷明了很多,且输入代码时更加方便直观。后者因为 #引号、#左引号、#右引号 等常量以及加号(“+”)的使用,导致代码分散且混乱,不易输入和阅读。
语法:  文本型  取文本 (原始文本, [参数], ... )
参数名
描 述
原始文本
必需的; 通用型,参数数据可以同时提供数组或非数组数据。此文本中可包含“半角双引号替换符(初始值为"`")”“全角左引号替换符(初始值为"~")”“全角右引号替换符(初始值为"~")”“文本替换符”。其中“文本替换符”由前缀文本(初始值为"%")和紧接着的下一个半角字符(可为"s","d","f","t","T","n","N"等)组成。当命令执行后,此文本中的这些特殊文本将被替换为相应的文本(如`被替换为",~被分别替换为“和”,%s,%d,%f被替换为参数文本,%t被替换为半角双引号包围的参数文本,%T被替换为全角双引号包围的参数文本),%n被替换为换行符(即易语言中的“#换行符”常量),%N被替换为两个换行符(相当于两个连续的%n)。如果此参数的类型不是“文本型”,则首先将其转换为文本型,再进行如上处理。本命令的返回值,就是经过以上文本替换操作后的结果文本。上述提到的各种替换符或其前缀,可通过“取文本_属性设置”命令自行定义。注意:当“文本替换符”为%n或%N时,它不占用后面的参数值。
参数
可选的; 可扩充的;通用型,参数数据可以同时提供数组或非数组数据。此参数值用于替换上一参数中的“文本替换符”,并与之依序一一对应。即,此处的第一个参数用于替换第一个“文本替换符”,第二个参数用于替换第二个“文本替换符”,如此类推,但特殊情况下除外(如%n和%N就不占用此参数)。特别地,如果本参数为数组,则将数组中的每一个成员作为一个逻辑单位与“文本替换符”进行逐一匹配和替换。如果本参数不是文本型,则首先将其(或其成员)转换为文本,然后进行替换操作。
 
回复 支持 反对

使用道具 举报

结帖率:89% (48/54)

签到天数: 20 天

发表于 2023-4-12 21:13:57 | 显示全部楼层   吉林省长春市
用精易助手生成代码很烦 他哪个引号处理不完整
回复 支持 反对

使用道具 举报

发表于 2023-4-11 08:30:46 | 显示全部楼层   广东省广州市
回复 支持 反对

使用道具 举报

结帖率:98% (96/98)

签到天数: 26 天

 楼主| 发表于 2023-3-26 14:31:15 | 显示全部楼层   河南省郑州市
恩赐 发表于 2023-3-26 07:03
c = “123#引号15123#引号5123”
c = 子文本替换 (c, “#引号”, “'”, , , 真)
网页_访问 (url, 1, c,  ...

为什么不直接写到模块源码里面呢  
回复 支持 反对

使用道具 举报

结帖率:100% (27/27)
发表于 2023-3-26 07:03:35 | 显示全部楼层   福建省福州市
c = “123#引号15123#引号5123”
c = 子文本替换 (c, “#引号”, “'”, , , 真)
网页_访问 (url, 1, c, , , , , , , , , , , )
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表