TC官方合作论坛

标题: 【一只熊】cookies自动管理 [打印本页]

作者: 一只熊    时间: 2017-12-5 10:38
标题: 【一只熊】cookies自动管理
本帖最后由 一只熊 于 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
复制代码



作者: 一只熊    时间: 2017-12-5 10:38
好帖希望大家顶,有问题也可以回帖提问
作者: donggua11    时间: 2017-12-22 21:58
你好,我用tc7.0编译时出现> function CookiesManager_setCookie(head),错误信息:函数定义中,不能识别的语法定义 。还想请教一下如何用tc设置ie的Cookie,谢谢。
作者: 一只熊    时间: 2017-12-25 13:58
donggua11 发表于 2017-12-22 21:58
你好,我用tc7.0编译时出现> function CookiesManager_setCookie(head),错误信息:函数定义中,不能识别的语 ...

tc貌似没提供设置iecookies的方法,,可以直接调用js设置ie cookies
作者: donggua11    时间: 2018-1-1 15:21
谢谢




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1