开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 5478|回复: 20
收起左侧

[已回应] 关于网页_访问S cookie合并的问题

[复制链接]
结帖率:100% (2/2)
发表于 2018-12-27 08:59:28 | 显示全部楼层 |阅读模式   湖北省武汉市
本帖最后由 minews 于 2018-12-27 09:10 编辑

早期版本源码是这样写的
  
如果真 (是否自动合并更新Cookie)
如果真 (取反 (是否为空 (提交Cookies)))
返回Cookies = 网页_Cookie合并更新 (提交Cookies, 返回Cookies)


6.91之后 改成了这样子
修改记录显示 1、优化“网页_访问S”对提交cookie 传入值的判断;感谢【@915743805 】反馈
  
如果真 (是否自动合并更新Cookie)
如果真 (取反 (提交Cookies = “”))
返回Cookies = 网页_Cookie合并更新 (提交Cookies, 返回Cookies)


这个修改感觉很好笑, 提交cookies=""  和 是否为空 (提交Cookies) 这差别大了去了,专门提交修改意见来改这个?
随便举个例子
  
子程序名返回值类型公开备 注
_临时子程序  
变量名类 型静态数组备 注
url文本型 
cookie文本型 
url = http://www.baidu.com
网页_访问S (url, 0, , cookie)


这个子程序下面我期望运行之后cookie变量里面是我取到的cookie,6.9以及之前的模块可以达到这个效果,但是到了6.9之后的版本,运行之后变量cookie就为空了.
我就很纳闷,大神造好的轮子,为何让这无聊的人来画蛇添足,官方的人也应该审核一下,看看更改的代码是不是真的有原创的好
网页_访问 系列,在很早期的版本就开始用了,非常稳定,不知为何后面来来回回折腾好几个版本,修复来修复去,各种问题,我强烈建议官方人员先仔细核查一下用户提交的代码,再决定要不要添加到模块中去.


恳请"大佬们"提交改进意见前先仔细检查一下自己的代码,是不是真的超越了原创的大神,别动不动就把别人的稳定的轮子改的
面目全非.

结帖率:69% (38/55)

签到天数: 5 天

发表于 2019-5-27 12:36:35 | 显示全部楼层   浙江省温州市
1兄弟我就是提交那个bug的人,这里面的水远远不是你所想的那么简单。你说的问题我看懂了就是“”cookie由于进不去导致你想要的cookie并没有被更新,很多人由于编程的时候没有养成好的习惯,很多变量都在子程序内互相污染。你有没有想过如果进入的cookie直接被更新了那返回的cookie有意义吗???一个变量不是更好。
2。之前我还提交过一个bug就是cookie如你说想是""进去结果由于内部互相污染导致最后返回的cookie全部为空。这个bug导致我一个单子直接没了。真的是伤心万分a
3 从深层次考虑,进入子程序的除了对象和数组外,很多其他语言字符串是赋值拷贝而不应该是指针引用,但是你发现问题了么易语言文本是指针引用的。进去的会被污染的。加上写代码的人逻辑不严谨以及顺手就用了参数变量参与运算(易语言子程序参数变量参直接与运算会出很多问题的,其他语言也不建议参数二次赋值),导致很多bug出现。我很早就提到过要强调文本是会被污染的不要在参数哪里打上参考,一定要让所有人明白文本进入子程序会被改变影响外面的。如果你学过c的话就知道其实空参数允许是可以在后面有默认参数的比如 void a(int n=0)这其实和我们这里直接判断的呢cookie=""是类似的既然空也是"" 那直接判断“” 不是更好
4. 说到底这么多就是为了培养大家更好的编程习惯。很多东西用习惯了很难改。也借此希望易语言可以走的更远,那就需要更加规范和严谨。希望大家有良好的编程习惯,对于大家找bug有更好的帮助
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 28 天

 楼主| 发表于 2019-2-27 15:03:30 | 显示全部楼层   广东省深圳市
本帖最后由 minews 于 2019-2-27 15:29 编辑

                   好
回复 支持 反对

使用道具 举报

结帖率:67% (6/9)

签到天数: 2 天

发表于 2019-1-3 10:57:30 | 显示全部楼层   贵州省贵阳市
minews 发表于 2018-12-27 12:26
我就说了2点  
1.   6.91模块里面的修改是多余的,(旧模块完全包含了新模块的判断条件,反之就不行),
2.  ...

已经说得很明白了,菜的就是菜的。
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 28 天

 楼主| 发表于 2018-12-31 01:16:27 | 显示全部楼层   湖北省武汉市
项目部002 发表于 2018-12-28 16:37
是否为空  不是判断你传入的值是不是空的  而是判断你有没有传这个参数

一样的子程序,一个参数留空 ...

感谢回复,发帖子的时候带了些情绪,言语比较偏激,
只是建议再更新模块的时候,如非功能上的变更,尽量能兼容一下旧的写法,不能采纳也无没关系了,毕竟是开源模块,感谢大佬们辛苦维护.

可以帮我删掉帖子了.
回复 支持 反对

使用道具 举报

发表于 2018-12-28 16:37:27 | 显示全部楼层   广东省揭阳市
TIM截图20181228161914.png

是否为空  不是判断你传入的值是不是空的  而是判断你有没有传这个参数

一样的子程序,一个参数留空 一个参数传入了“” 空值      结果就是截图这样
也就是说 如果你传入的cookie是“”空值  那么  是否为空=真  真取反就是假  假就不会再去执行合并更新了
如果传入得到是真的是空值,那么空值和返回的cookie合并更新还是返回的而不是合并更新的,这时候理应从返回cookie获取最新cookie
每个人的需求可能不一样,开源的目的就是更好的服务大家,针对个人的需求可以根据个人实际情况去修改属于自己的版本的功能
有疑问和建议都可以提出来,大家一起维护精易模块。
回复 支持 反对

使用道具 举报

发表于 2018-12-27 21:19:46 | 显示全部楼层   河南省南阳市
谢谢楼主分享
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 28 天

 楼主| 发表于 2018-12-27 12:26:51 | 显示全部楼层   湖北省武汉市
w648505183 发表于 2018-12-27 12:08
你第一次取放在返回cookei就行了啊。第一次提交cookie都没有合并什么

我就说了2点  
1.   6.91模块里面的修改是多余的,(旧模块完全包含了新模块的判断条件,反之就不行),
2.   这让以前能正常运行的代码现在无法正常运行了
第一点上面回复已经说的很清楚了,
第二点,上面回复已经给出了例子
我就问你我说错了没有,你说你老是扯到别处做什么?
王顾左右而言他,我帖子说的是这模块更改导致的兼容问题.你讨论的是写法问题,根本就不在一个点上,争赢了也没奖金,你要辩论就针对帖子里面的观点来辩论,如果只是为了争论儿争论那就不奉陪了
回复 支持 反对

使用道具 举报

结帖率:67% (6/9)

签到天数: 2 天

发表于 2018-12-27 12:08:53 | 显示全部楼层   贵州省黔南布依族苗族自治州
minews 发表于 2018-12-27 11:35
①.如果真(是否为空(提交cookie))
②.如果真(提交cookie=="")

你第一次取放在返回cookei就行了啊。第一次提交cookie都没有合并什么
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 28 天

 楼主| 发表于 2018-12-27 11:35:57 | 显示全部楼层   湖北省武汉市
w648505183 发表于 2018-12-27 10:58
都怕你不理解还说成是参数为空。cookie=""是你传进去的那个变量。文本型变量初始值是不是“”?传进去了 ...

①.如果真(是否为空(提交cookie))
②.如果真(提交cookie=="")

如果①成立,②必然成立
反过来②成立,①却不一定成立

简单点说①可以兼容②  ②兼容不了①
现在特地用②来代替①  这才叫脱了裤子放屁

帖子就说了两个意思
1.上面2个条件不是等价的
2.用②代替①之后兼容性变差了.
你都没看完帖子开喷了,要喷也应该针对上面2点来喷,喷也得守基本规则

原来的模块
ret = 网页_访问S (url, 0, , Scookie, , referer, , , , , , , , , , , , )
运行之后Scookie里面是合并后的cookie
这里用一个变量来接收最新的cookie 不是很方便吗?,函数内置合并cookie不就是为了图这个方便?
最新的模块 由于 Scookie为空字符串  结果导致无法接收最终的cookie, 原来的代码必须重新修改一遍

回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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