如果你在一臺支持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;}
|