对于CGI读写COOKIE的编程(2)
发表时间:2023-12-26 来源:明辉站整理相关软件相关文章人气:
[摘要]如果你在一台支持COOKIE的客户端设置了COOKIE,当这个客户端在次来访问时,浏览器会向你的CGI所在的WEB服务器发送一条HTTP响应头,这个响应头为: Cookie:name1=value;name2=value2;exprires=DATE;PATH=PATH;domiam=DOMAIN...
如果你在一台支持COOKIE的客户端设置了COOKIE,当这个客户端在次来访问时,浏览器会向你的CGI所在的WEB服务器发送一条HTTP响应头,这个响应头为:
Cookie:name1=value;name2=value2;exprires=DATE;PATH=PATH;domiam=DOMAIN_NAME;SECURE
根据这个HTTP响应头WEB服务器的环境变量 HTTP_COOKIE=:name1=value;name2=value2
我们对这个环境变量的内容进行分解就可以的到我我们要的信息。
以下给出我写的读写COOKIE的两段PERL程序,你也可以把它改写为C语言
设置COOKIE:
print "Content-type:text/htmln";
print "Set-Cookie:name1=zjxyz;expires=Thursdday,01-Jan-2000 12:00:00 GMTn";
print "Set-Cookie:name2=ken;expires=Thursdday,01-Jan-2000 12:00:00 GMTn";
print "Set-Cookie:name3=ken;expires=Thursdday,01-Jan-2000 12:00:00 GMTnn";
读取COOKIE和分解的过程:
@pairs = split(/&/, $ENV{'HTTP_COOKIE'});
foreach $pair (@pairs){
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$cookie{$name} = $value;}