TC官方合作论坛

 找回密码
 立即注册
查看: 364|回复: 4
打印 上一主题 下一主题

[TC5.0源码] 【一只熊】cookies自动管理

[复制链接]
跳转到指定楼层
楼主
发表于 2017-12-5 10:38:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 一只熊 于 2017-12-5 10:43 编辑

对于cookies的管理相信一直苦恼很多新手小白们

现在【一只熊】提供个cookies 自动管理的工具类给大家。让大家开发更方便


  1. var cookies
  2. //获取cookies的正则语句: "Set-Cookie[^.]*?[^;];"  
  3. //如果存在则更新,不存在则添加
  4. function CookiesManager_setCookie(head)
  5.     //cookie=""
  6.     if(head!="")
  7.         var setCookie=regexmatchtext(head,"Set-Cookie[^.]*?[^;];",false,true,true,false)
  8.         if(setCookie !=null && setCookie!="")
  9.             var n = arraysize(setCookie)   //条件1
  10.             if(n!=-1 && setCookie[0]!="")
  11.                 for(var i = 0; i < n; i++)
  12.                     var cookie=string_mid(setCookie[i],"Set-Cookie:",";")
  13.                     var cookie_key=string_mid(cookie," ","=")
  14.                     var pos=strfind(cookies,cookie_key)
  15.                     if(pos!=-1)
  16.                         cookies=strreplace(cookies,cookie_key&"="&string_mid(cookies,cookie_key,";"),cookie)
  17.                     else
  18.                         cookies=cookies&cookie&";"
  19.                     end
  20.                 end
  21.             end
  22.         end
  23.     end
  24. end
复制代码


字符串取中间信息方法string_mid,CookiesManager_setCookie 中有用到

  1. //取两个字符串中间的信息
  2. //参数1:源字符串
  3. //参数2:要取的部分所在开头的字符串
  4. //参数3:结束部分字符,默认为空,表示到到结尾
  5. function string_mid(source,startStr,endStr)
  6.     var startpos
  7.     var endpos
  8.     var temp
  9.     if(startpos=="")
  10.         startpos=0
  11.     else
  12.         startpos=strfind(source,startStr)
  13.         
  14.     end
  15.     temp=strsub(source,startpos+strlen(startStr),strlen(source))
  16.    
  17.     if(endStr=="")
  18.         endpos=strlen(temp)
  19.     else
  20.         endpos=strfind(temp,endStr)
  21.     end
  22.    
  23.     if(startpos==-1 || endpos==-1)
  24.         return ""
  25.     end
  26.     var ret=strsub(temp,0,endpos)
  27.     return ret
  28. end
复制代码


评分

参与人数 1威望 +10 金币 +10 收起 理由
cjxdn + 10 + 10 赞一个!

查看全部评分

回复

使用道具 举报

沙发
 楼主| 发表于 2017-12-5 10:38:52 | 只看该作者
好帖希望大家顶,有问题也可以回帖提问
回复 支持 反对

使用道具 举报

板凳
发表于 2017-12-22 21:58:56 | 只看该作者
你好,我用tc7.0编译时出现> function CookiesManager_setCookie(head),错误信息:函数定义中,不能识别的语法定义 。还想请教一下如何用tc设置ie的Cookie,谢谢。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2017-12-25 13:58:16 | 只看该作者
donggua11 发表于 2017-12-22 21:58
你好,我用tc7.0编译时出现> function CookiesManager_setCookie(head),错误信息:函数定义中,不能识别的语 ...

tc貌似没提供设置iecookies的方法,,可以直接调用js设置ie cookies
回复 支持 反对

使用道具 举报

5#
发表于 2018-1-1 15:21:45 | 只看该作者
谢谢
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-18 06:24 , Processed in 0.118784 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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