读书人

如何读取cookie

发布时间: 2012-09-25 09:55:59 作者: rapoo

怎么读取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);
[解决办法]
探讨
这个是C++的,不是C的,一小段怎么看得懂啊

读书人网 >C语言

热点推荐