怎么读取cookie
我一开始看到getenv("HTTP_COOKIE")能获得cookie,
可是自己试了N遍了,返回值始终是NULL
我就开始怀疑了:
1、HTTP_COOKIE找不到定义
2、getenv获取的是环境变量,COOKIE是环境变量吗?
3、有没有专门读取cookie的函数
哪位大哥知道用C语言如何读取本机浏览器中的COOKIE吗?
[解决办法]
如果用户要读取Cookies,则必须使用Request对象的Cookies集合.
需要注意的是,只有在服务器未被下载任何数据给浏览器前,浏览器才能与Server进行Cookies集合的数据交换,一旦浏览器开始接收Server所下载的数据,Cookies的数据交换则停止,为了避免错误,要在程序和前面加上response.Buffer=True。
[解决办法]
首先COOKIE不是环境变量中的
它要从网络HTTP包返回的数据中取得的
这个是我原来BCB的一段程序(BCB的),供参考:
- C/C++ code
or(i=0;i<http->Response->ExtraHeaders->Count;i++) { if (UpperCase(http->Response->ExtraHeaders->Strings[i].SubString(1,10)) =="SET-COOKIE") { Cookie =Trim(http->Response->ExtraHeaders->Strings[i].SubString(12,1000)); Cookie =Cookie.SubString(1,Cookie.Pos(";")); CookieList+=Cookie; Memo1->Lines->Add(Cookie); } } http->Request->ExtraHeaders->Add("Cookie: "+CookieList);
[解决办法]