c/c++ 对cookie的操作
来源:互联网 发布:mac虚拟机怎么卸载干净 编辑:程序博客网 时间:2024/06/05 01:12
#include <stdio.h>
char *getcookie(char *var)
{
char *p= getenv("HTTP_COOKIE");
char sstr[1024]= {0};
char *str;
char *q;
char *retstr;
char ch;
if(p)
{
strcpy(sstr, var);
strcat(sstr, "=");
str=strstr(p, sstr);
if(str)
{
str += strlen(var)+1;
q= str;
while(*q!='/0' && *q!= ';') q++;
if(q== str) return NULL;
retstr= malloc(q-str+1);
strncpy(retstr, str, q-str);
retstr[q-str]= '/0';
return retstr;
}
}
return NULL;
}
void setcookie(char *var, char *value)
{
char str[1024];
strcpy(str, var);
strcat(str, "=");
strcat(str, value);
strcat(str, ";");
printf("set-cookie: %s/n", str);
}
char *getvalue(char *name)
{
char *p, *q;
char *chp;
char sstr[1024]= {0};
char *ret;
int len;
p= getenv("CONTENT_LENGTH");
if(p) len= atoi(p);
else len= 0;
chp= malloc(len+1);
fread(chp, len, 1, stdin);
chp[len]= '/0';
strcpy(sstr, name);
strcat(sstr, "=");
p= strstr(chp, sstr);
if(p)
{
p += strlen(name)+1;
q= p;
while(*q!='/0' && *q!= '&') q++;
if(q== p) return NULL;
ret= malloc(q-p+1);
strncpy(ret, p, q-p);
ret[q-p]= '/0';
return ret;
}
return NULL;
}
int main()
{
char *p;
char *vp;
int len;
if(strcmp(getenv("REQUEST_METHOD"), "POST")== 0)
{
vp= getvalue("value");
}else
{
vp= NULL;
}
p= getcookie("name");
if(vp)
{
setcookie("name", vp);
}
printf("Content-Type: text/html/r/n/r/n");
printf("<html><head>");
/*if(vp)
{
printf("<META http-equiv=/"refresh/" content=/"5;/cgi-bin/cookie/">");
}*/
printf("<title>test cookie</title></head>");
printf("<body>");
if(p) printf("cookie: %s<br>", p);
if(vp)
{
printf("write cookie: name=%s", vp);
printf("<br><a href=/"/cgi-bin/cookie/">next</a>");
}else if(!p)
{
printf("<form action=/"/cgi-bin/cookie/" method=/"post/">");
printf("name=<input type=/"text/" name=/"value/">");
printf("<input type=/"submit/">");
}
printf("</body></html>");
}
- c/c++ 对cookie的操作
- C#cookie操作类
- object-c 操作cookie
- C#cookie操作
- [C#]对Excel的操作
- 对cookie的操作
- 对Cookie的操作
- [转]C#cookie操作类
- 对Cookie操作的封装
- java对cookie的操作
- java对cookie的操作
- java对cookie的操作
- Java对Cookie的操作
- java对cookie的操作
- java对cookie的操作
- java对cookie的操作
- java对cookie的操作
- java对cookie的操作
- 节奏
- Eclipse SDK 3.1M5a is out.
- php+xml+xslt初学笔记
- ASP 验证码的程序及原理
- 采用JDMK来构筑网管系统
- c/c++ 对cookie的操作
- 【资料】Java学习从入门到精通 转载
- 昨天·今天·明天(台词)
- 使用htmlparser获取sohu的天气预报
- UNIX 系统消息队列机制及应用
- 解决WEB页面上"焦点控制"一法
- 好图啊!
- IP Help库函数获取网卡列表
- 把文件夹显示在最前面