c++ builder TIdHttp 获取不到cookie

用c++ builder 的TIdHttp组件Get一个ASP.Net MVC服务器的一个页面,获取页面中Cookie信息,修改后Post到服务器上去。

在本地调试的时候可以获取到,部署到服务器上就获取不到Cookie,用FireFox的FireBug打开网页可以看到Cookie的信息,然后又用Wireshark查看Get数据,发现Cookie有HttpOnly属性,TIdHttp的CookieManager获取不到。查找发现在m_IdHttp->Response->RawHeaders中有Cookie的信息,于是提取Cookie,并设置Requst的CustomHeaders中的Cookie的信息。

相关代码如下:

1 //获取Cookie
2 AnsiString cookies = m_IdHttp->Response->RawHeaders->Values["Set-Cookie"];
3 //设置Cookie
4 m_IdHttp->Request->CustomHeaders->AddValue("Cookie",cookies);
原文地址:https://www.cnblogs.com/SamFang/p/5333403.html