Boa服务器中如何使用cgi管理cookie(c语言)
1
【方法1】
(1) 设置cookie
- printf( "Set-Cookie:username=%s; path=/; \r\n ",username);
- printf("Content-type: text/html\n\n");
注意:设置cookie的语句要放在Content-type前,否则不能生效。
(2) 查看cookie
- printf("Content-type: text/html\n\n");
- printf("<html>\n");
- info=getenv("HTTP_COOKIE");
- if(info!=NULL)
- {
- sscanf(info,"username=%s",username);
- }
注意:HTTP_COOKIE而不是HTTP-COOKIE,很多网络资料上都写错了,结果查到的cookie数据为空。
【方法2】(1) 设置cookie
- printf("<head>\n");
- printf("<script charset=\"gb2312\" language=\"JavaScript\" >\n");
- printf("function setCookie(c_name,value,expiredays) \
- \n{ \
- \nvar exdate=new Date(); \
- \nexdate.setDate(exdate.getDate()+expiredays) \
- \ndocument.cookie=c_name+ \"=\" +escape(value)+ \
- \n((expiredays==null) ? \"\" : \"; expires=\"+exdate.toGMTString()); \
- }\n");
- printf("</script>\n");
- printf("</head>\n");
在<body>标签中调用:
- printf("<script type=\"text/javascript\">\n");
- printf("setCookie('username','%s',1);\n",username);
- //printf("window.location.href=\"xxxx\";\n");
- printf("</script>\n");
(2) 获取cookie
- printf("<head>\n");
- printf("<script charset=\"gb2312\" language=\"JavaScript\" >\n");
- printf("function getCookie(c_name) \
- \n{ \
- \n if(document.cookie.length>0) \
- \n { \
- \n c_start=document.cookie.indexOf(c_name + \"=\"); \
- \n if(c_start!=-1) \
- \n { \
- \n c_startc_start=c_start + c_name.length+1; \
- \n c_end=document.cookie.indexOf(\";\",c_start); \
- \n if(c_end==-1) c_end=document.cookie.length; \
- \n return unescape(document.cookie.substring(c_start,c_end)); \
- \n } \
- \n} \
- \n return \"\"; \
- \n}\n");
- printf("</script>\n");
- printf("</head>\n");
在<body>标签中调用:
- printf("<script type=\"text/javascript\">\n");
- printf("var temp;\n");
- printf("temp=getCookie('username');\n");
- printf("alert(temp);\n");
- printf("</script>\n");
评注:查询cookie【方法2】,暂时没有找到合适的方法将得到的cookie值转化为字符串,只能用于js脚本中。可以结合【方法2】的设置cookie和【方法1】的查询cookie使用。
2 如何关闭浏览器页面的同时清除cookie?
- printf("<body onunload=\"document.cookie=''\">\n");
相关推荐
houmenghu 2020-11-17
kentrl 2020-11-10
逍遥友 2020-10-26
jincheng 2020-09-01
Blueberry 2020-08-15
xclxcl 2020-08-03
zmzmmf 2020-08-03
阳光之吻 2020-08-03
PkJY 2020-07-08
hzyuhz 2020-07-04
89407707 2020-06-27
服务器端攻城师 2020-06-26
阳光岛主 2020-06-25
笨重的蜗牛 2020-06-20
xuanwenchao 2020-06-14
Lophole 2020-06-13
明瞳 2020-06-12
songerxing 2020-06-11