马上加入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
复制代码
|