web_add_cookie()
web_add_cookie()--常用函数
添加,删除或替换一个cookie。
在以下示例中,web_add_cookie函数将名为“client_id”的cookie添加到脚本可用的Cookie列表中。
该函数一般用于绕过登录主机访问登录页面去操作,模拟用户直接在线;
Cookie值的作用是帮助我们保存部分数据内容,再就是帮我存储一个在线状态信息;
web_add_cookie(“client_id =China127B; path = /; expires = Wednesday,09-Nov-2001 23:12:40GMT; domain = www.cnn.com”);
web_add_cookie 这个的函数原来真的能过逃过登录。
函数原型:int web_add_cookie( const char *Cookie);
其中cookie参数列表格式添加如下:
Defines the cookie to add or modify. The Cookieparameter has the following format:
name=VALUE; (required) //需要添加的cookie变量名=变量值,必须有
domain=DOMAIN_NAME; (required) 需要cookie的域名,必须有
expires=DATE; 失效日期 可以可无,最好有。其实该字段是根据服务端设置的,服务端设置可以保存多长时间,就保存多长时间,Lr在模拟时该时间一般要在服务端允许的时间范围内,但是不在范围内好像也不报错,估计也不会有用,有的cookie是根据session来的,比如截图中的cookie有效期为end of session,意思就是session死了,cookie也就失效了,所以你设置再长时间也没有用啦。
path=PATH;(default path is "/") cookie路径,默认是当前路径还是根目录呀?这个/目录到底是哪里呢?都不是,该path路径的意思是cookie的适应范围,/代表该cookie从该程序的根目录起适用。这个也是要根据服务端设置来的,看截图的path路径为/,表示呀该cookie从该应用的根目录开始适用,lr中按照此设置即可,当然也可以设置成根目录以下的目录,可是你客户端怎么知道根目录以下还有哪些目录呢?哈哈,所以这能照抄服务端返回的目录啦。
使用办法,在firefox浏览器中运行一次实际的登录过程,登录过程中开启httpfox插件,获取接受到的cookies各个字段的值,然后加到lr的初始化里(vuser_init()),绕过登录。
代码如下:
web_add_cookie("tonido-login-seed-10001=588831e0-2d20-43bf-8aad-979590571e68; path=/;expires=Wednesday, 09–Nov–2011 23:12:40 GMT;domain=blog.csdn.net");
web_add_cookie("tonido-login-hash-10001=df420fa77e1facf1c5ad1d3de3b5ee007bffcf09;path=/; expires=Wednesday, 09–Nov–2021 23:12:40 GMT; domain=blog.csdn.net");
web_add_cookie("tonido-login-user-10001=blog.csdn.net; path=/; expires=Wednesday,09–Nov–2011 23:12:40 GMT; domain=blog.csdn.net");
参数里的name,value,path,domain的值都是可以直接从httpfox中获取到的,至于expires你可以随便写,只要是未来时间即可。
添加完cookie后,那些需要登录后才能进行的操作,再也不用登录后再操作了,因为登录实在是太消耗时间了。