明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

對于CGI讀寫COOKIE的編程(2)

[摘要]如果你在一臺支持COOKIE的客戶端設置了COOKIE,當這個客戶端在次來訪問時,瀏覽器會向你的CGI所在的WEB服務器發(fā)送一條HTTP響應頭,這個響應頭為: Cookie:name1=value;name2=value2;exprires=DATE;PATH=PATH;domiam=DOMAIN...
如果你在一臺支持COOKIE的客戶端設置了COOKIE,當這個客戶端在次來訪問時,瀏覽器會向你的CGI所在的WEB服務器發(fā)送一條HTTP響應頭,這個響應頭為:
Cookie:name1=value;name2=value2;exprires=DATE;PATH=PATH;domiam=DOMAIN_NAME;SECURE
根據(jù)這個HTTP響應頭WEB服務器的環(huán)境變量 HTTP_COOKIE=:name1=value;name2=value2
我們對這個環(huán)境變量的內容進行分解就可以的到我我們要的信息。

  以下給出我寫的讀寫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;}