开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 2704|回复: 9
收起左侧

[图文资料] 完美解决精益模块中url编码慢的问题

[复制链接]
发表于 2019-6-25 23:27:51 | 显示全部楼层 |阅读模式   四川省成都市
最近在搞一个项目,python和易语言各一个版本但是发现一个比较大的问题就是  这个精益论坛的url编码不是慢了第一点半点大多是卡死的状态所以研究了一下网页的那些url编码的,,,,


这里说明一下当你的数据很小时几乎是没有什么延时的,当我处理一张照片上发现哈哈真是。。。。。。




这里我把源码思路给大家讲一下




首先我们的易语言还是有一些速度优化问题所以这里并没有采用重写模块   我也写不出来  所以千找万找终于想到了使用 易语言去运行js脚本来解决问题   


绝对是算法问题,这下秒编码 很强
  1. .版本 2

  2. .子程序 功能_运行JS代码, 文本型, , 此代码由精易网页调试助手生成代码,配合精易模块使用。
  3. .参数 JS代码, 文本型, , 此处填入放置在文本常量的JS代码
  4. .参数 参数1, 文本型
  5. .局部变量 结果, 文本型

  6. 线程_初始化COM库 ()
  7. 结果 = 编码_运行JS代码 (JS代码, “test”, 参数1, , , )
  8. 线程_取消COM库 ()
  9. 返回 (结果)
复制代码
  1. ‘调用
  2. <font color="red">功能_运行JS代码 (#url_encode, 要编码字符串)</font>
复制代码
  1. 常量url_encode=
  2. <font color="royalblue">function test(str){
  3. return encodeURIComponent(str);
  4. }</font>
复制代码

调用js函数来解决模块算法慢的问题




 楼主| 发表于 2019-6-26 09:25:28 | 显示全部楼层   四川省成都市
闻v风 发表于 2019-6-25 23:52
[e=0].版本 2

.子程序 汇编URL全编码

经过测试汇编还是慢了一点
但是已经比原解码快很多了
* “使用js解码用时:14ms”
* “使用汇编解码用时:19ms”
我是来分享方法的没想到还有这么多人分享更多方法谢谢了,但是毕竟javascript还是经过很多优化的所以快很正常,还是比原来解码快很多了很强
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-26 09:22:47 | 显示全部楼层   四川省成都市

经过测试汇编还是慢了一点
但是已经比原解码快很多了
* “使用js解码用时:14ms”
* “使用汇编解码用时:19ms”
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-26 09:07:37 | 显示全部楼层   四川省成都市
闻v风 发表于 2019-6-25 23:52
[e=0].版本 2

.子程序 汇编URL全编码

哈哈,谢谢了,js也挺快了可以我也去试试汇编版的
回复 支持 反对

使用道具 举报

结帖率:100% (34/34)

签到天数: 25 天

发表于 2019-6-26 01:56:44 | 显示全部楼层   浙江省衢州市
yyylgh520 发表于 2019-6-25 23:56
哈哈老哥,求你用汇报给咱易语言写个函数吧!

编码_URL解码_快速加汇编两个功能
http://bbs.125.la/forum.php?mod=viewthread&tid=14226272
(出处: 精易论坛)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-25 23:56:55 | 显示全部楼层   四川省成都市

哈哈老哥,求你用汇报给咱易语言写个函数吧!   

点评

编码_URL解码_快速加汇编两个功能 http://bbs.125.la/forum.php?mod=viewthread&tid=14226272 (出处: 精易论坛)   浙江省衢州市  详情 回复 发表于 2019-6-26 01:56
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-25 23:55:43 | 显示全部楼层   四川省成都市
dongxin 发表于 2019-6-25 23:43
图片用url编码??   url编码不是用于http请求的吗??

post请求的时候将图片字节集先转为base64后,再精益的编码_url编码(),你可以试试慢到起飞。
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)
发表于 2019-6-25 23:52:44 | 显示全部楼层   浙江省温州市
  
子程序名返回值类型公开备 注
汇编URL全编码  
参数名类 型参考可空数组备 注
局_表整数型
局_目标地址整数型
局_转换内容长度整数型
局_转换内容文本型
置入代码 ({ 139, 93, 8, 139, 125, 12, 139, 77, 16, 139, 117, 20, 139, 54, 176, 37, 170, 172, 138, 224, 192, 232, 4, 215, 170, 138, 196, 36, 15, 215, 170, 226, 237, 51, 192, 170, 201, 194, 16, 0 })
子程序名返回值类型公开备 注
汇编URL半编码  
参数名类 型参考可空数组备 注
局_表整数型
局_表2整数型
局_目标地址整数型
局_转换内容长度整数型
局_转换内容文本型
置入代码 ({ 96, 139, 125, 16, 139, 77, 20, 139, 117, 24, 139, 54, 172, 81, 87, 185, 75, 0, 0, 0, 139, 125, 12, 242, 174, 95, 89, 116, 20, 80, 176, 37, 170, 88, 138, 224, 192, 232, 4, 139, 93, 8, 215, 170, 138, 196, 36, 15, 215, 170, 226, 216, 51, 192, 170, 97, 201, 194, 20, 0 })
子程序名返回值类型公开备 注
编码_URL编码_快速文本型 快速URL编码
参数名类 型参考可空数组备 注
参_编码文本文本型需要URL编码的文本内容
参_是否不编码字母数字逻辑型不编码字母数字及符号
变量名类 型静态数组备 注
局_表1文本型 
局_返回值文本型 
局_待转换文本文本型 
局_表2文本型 
局_表1 = “0123456789ABCDEF”
局_表2 = “0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ;/?:@&=+$,#.-” ' 不编码字符
局_返回值 = 取空白文本 (取文本长度 (参_编码文本) × 3)
如果 (参_是否不编码字母数字 = )
汇编URL半编码 (取变量数据地址_文本 (局_表1), 取变量数据地址_文本 (局_表2), 取变量数据地址_文本 (局_返回值), 取文本长度 (参_编码文本), 参_编码文本)
汇编URL全编码 (取变量数据地址_文本 (局_表1), 取变量数据地址_文本 (局_返回值), 取文本长度 (参_编码文本), 参_编码文本)
返回 (局_返回值)


试试这个汇编的,论坛里搜索到的,速度快好多倍,而且可以自己定义保留不被编码字符
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 20 天

发表于 2019-6-25 23:43:49 | 显示全部楼层   广东省广州市
图片用url编码??   url编码不是用于http请求的吗??
回复 支持 反对

使用道具 举报

结帖率:100% (34/34)

签到天数: 25 天

发表于 2019-6-25 23:43:31 | 显示全部楼层   浙江省衢州市
了解下汇编  
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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