马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册  
 
x
 
 本帖最后由 一只熊 于 2017-12-5 10:43 编辑  
 
对于cookies的管理相信一直苦恼很多新手小白们 
 
现在【一只熊】提供个cookies 自动管理的工具类给大家。让大家开发更方便 
 
 
- var cookies
 
 - //获取cookies的正则语句: "Set-Cookie[^.]*?[^;];"  
 
 - //如果存在则更新,不存在则添加
 
 - function CookiesManager_setCookie(head)
 
 -     //cookie=""
 
 -     if(head!="")
 
 -         var setCookie=regexmatchtext(head,"Set-Cookie[^.]*?[^;];",false,true,true,false)
 
 -         if(setCookie !=null && setCookie!="")
 
 -             var n = arraysize(setCookie)   //条件1
 
 -             if(n!=-1 && setCookie[0]!="")
 
 -                 for(var i = 0; i < n; i++)
 
 -                     var cookie=string_mid(setCookie[i],"Set-Cookie:",";")
 
 -                     var cookie_key=string_mid(cookie," ","=")
 
 -                     var pos=strfind(cookies,cookie_key)
 
 -                     if(pos!=-1)
 
 -                         cookies=strreplace(cookies,cookie_key&"="&string_mid(cookies,cookie_key,";"),cookie)
 
 -                     else
 
 -                         cookies=cookies&cookie&";"
 
 -                     end 
 
 -                 end
 
 -             end
 
 -         end
 
 -     end 
 
 - end
 
 
  复制代码 
 
字符串取中间信息方法string_mid,CookiesManager_setCookie 中有用到 
 
- //取两个字符串中间的信息 
 
 - //参数1:源字符串 
 
 - //参数2:要取的部分所在开头的字符串 
 
 - //参数3:结束部分字符,默认为空,表示到到结尾 
 
 - function string_mid(source,startStr,endStr) 
 
 -     var startpos 
 
 -     var endpos 
 
 -     var temp 
 
 -     if(startpos=="") 
 
 -         startpos=0 
 
 -     else 
 
 -         startpos=strfind(source,startStr) 
 
 -         
 
 -     end 
 
 -     temp=strsub(source,startpos+strlen(startStr),strlen(source)) 
 
 -     
 
 -     if(endStr=="") 
 
 -         endpos=strlen(temp) 
 
 -     else 
 
 -         endpos=strfind(temp,endStr) 
 
 -     end 
 
 -     
 
 -     if(startpos==-1 || endpos==-1) 
 
 -         return "" 
 
 -     end 
 
 -     var ret=strsub(temp,0,endpos) 
 
 -     return ret 
 
 - end 
 
 
  复制代码 
 
 |