win32获取和设置本地已经存在的网站的cookie
2015-12-03 21:21
369 查看
最简单的获取cookies的是用InternetGetCookie,函数原型如下:
这样几句就可以了
缺陷是nternetGetCookie 只读取 COOKIES目录下生成的COOKIE,遇到HTTPONLY属性则不生成本地COOKIES中的文件,而是直接通过HTTP头来传输。
这时可以用下列代码
或者
设置cookies的方法:
InternetSetCookie("http://www.cnblogs.com/Y4ng/",NULL,"TestData=Test;expires=Sat,01-Jan-2012 00:00:00GMT");
这样几句就可以了
缺陷是nternetGetCookie 只读取 COOKIES目录下生成的COOKIE,遇到HTTPONLY属性则不生成本地COOKIES中的文件,而是直接通过HTTP头来传输。
这时可以用下列代码
或者
设置cookies的方法:
InternetSetCookie("http://www.cnblogs.com/Y4ng/",NULL,"TestData=Test;expires=Sat,01-Jan-2012 00:00:00GMT");
Microsoft 参考资料: Managing Cookies -------------------------------------------------------------------------------- Under http protocol, a server or a script uses cookies to maintain state information on the client workstation. The Microsoft? Win32? Internet functions have implemented a persistent cookie database for this purpose. The Win32 Internet cookie functions are used to set cookies in and access cookies from the cookie database. For more information on http cookies, see HTTP Cookies. The Win32 Internet functions InternetSetCookie and InternetGetCookie can be used to manage cookies. Note The implementation of these functions is evolving. Using Cookie Functions The following functions allow an application to create or retrieve cookies in the cookie database. InternetGetCookie Retrieves cookies for the specified URL and all its parent URLs. InternetSetCookie Sets a cookie on the specified URL. Unlike most of the Win32 Internet functions, the cookie functions do not require a call to InternetOpen. Cookies that have an expiration date are stored in the windows\cookies directory. Cookies that don 't have an expiration date are stored in memory and are available only to the process in which they were created. Getting a Cookie InternetGetCookie returns the cookies for the specified URL and all its parent URLs. The following example demonstrates a call to InternetGetCookie. Show Example char szURL[256]; // buffer to hold the URL LPSTR lpszData = NULL; // buffer to hold the cookie data DWORD dwSize=0; // variable to get the buffer size needed // Insert code to retrieve the URL. retry: // The first call to InternetGetCookie will get the required // buffer size needed to download the cookie data. if (!InternetGetCookie(szURL, NULL, lpszData, &dwSize)) { // Check for an insufficient buffer error. if (GetLastError()== ERROR_INSUFFICIENT_BUFFER) { // Allocate the necessary buffer. lpszData = new char[dwSize]; // Try the call again. goto retry; } else { // Insert error handling code. } } else { // Insert code to display the cookie data. // Release the memory allocated for the buffer. delete[]lpszData; } Setting a Cookie InternetSetCookie is used to set a cookie on the specified URL. InternetSetCookie can create both persistent and session cookies. Persistent cookies are cookies that have an expiration date. These cookies are stored in the Windows\System directory. Session cookies are stored in memory and can be accessed only by the process that created them. The data for the cookie should be in the format: NAME=VALUE For the expiration date, the format must be: DAY, DD-MMM-YYYY HH:MM:SS GMT DAY is the three-letter abbreviation for the day of the week, DD is the day of the month, MMM is the three-letter abbreviation for the month, YYYY is the year, and HH:MM:SS is the time of the day in military time. The following example demonstrates two calls to InternetSetCookie. The first call creates a session cookie and the second creates a persistent cookie. BOOL bReturn; // Create a session cookie. bReturn = InternetSetCookie( "http://www.adventure_works.com ", NULL, "TestData = Test "); // Create a persistent cookie. bReturn = InternetSetCookie( "http://www.adventure_works.com ", NULL, "TestData = Test; expires = Sat, 01-Jan-2000 00:00:00 GMT "); --------------------------------------------------------------------------------
相关文章推荐
- 南大软院大神养成计划--网站
- 京东咚咚架构演进
- 京东咚咚架构演进
- 京东咚咚架构演进
- 京东咚咚架构演进
- 七牛数据处理架构变迁
- 领域驱动设计(一)理解分层架构
- Kafka剖析:Kafka背景及架构介绍
- 微服务架构-0
- 有效便捷的爬取网站
- 国内外安全网站网址大集合
- php网站多语言
- selenium自动化测试实现对网站的登陆(使用java编写)
- android sqlite 的架构和语法
- Google Analysis某网站的浏览器占比
- Keepalived+MySQL双主单写实现高可用性
- Android控件架构与自定义控件详解
- 如何选择网站管理系统
- java处理高并发高负载类网站的优化方法
- 独立博客网站FansUnion.cn操作2多年的经验和教训以及未来计划