wininet.dll函数库:不会过期的cookie

wininet.dll中包含很多win32下和网络有关的函数,包括internet,ftp等,下面演示一个IE下不过期的cookie。 比如csdn的登陆信息可以保存2个星期,你在登陆后把系统时间改为2周后,登陆信息就失效了,使用InternetSetCookie可以自己设置过期日期。 首先在IE中登陆,登陆时选择信息保存2周,然后运行如下代码,运行之后你可以把日期调整到2010年看效果:

using System;

using System.Text;

using System.Runtime.InteropServices;

namespace ConsoleApplication1

{

    class Program

    {

        /// <summary>

        /// 设置cookie

        /// </summary>

        [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]

        public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);

        /// <summary>

        /// 获取cookie

        /// </summary>

        [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]

        public static extern bool InternetGetCookie(

          string url, string name, StringBuilder data, ref int dataSize);

        static void Main(string[] args)

        {

            //获取旧的

            StringBuilder cookie = new StringBuilder(new String(' ',2048));

            int datasize = cookie.Length;

            bool b= InternetGetCookie("http://community.csdn.net", null, cookie, ref datasize);

            //删除旧的

            foreach (string fileName in System.IO.Directory.GetFiles(System.Environment.GetFolderPath(Environment.SpecialFolder.Cookies)))

            {

                if (fileName.ToLower().IndexOf("csdn") > 0)

                {

                    System.IO.File.Delete("csdn");

                }

            }

            //生成新的

            foreach (string c in cookie.ToString().Split(';'))

            {

                string[] item = c.Split('=');

                string name = item[0];

                string value = item[1] + ";expires=Sun,22-Feb-2099 00:00:00 GMT";

                InternetSetCookie("http://community.csdn.net",name,value);

                InternetSetCookie("http://forum.csdn.net", name, value);

                InternetSetCookie("http://webim.csdn.net", name, value);

            }

        }

    }

}
C#利用wininet获取网页Cookie WinInet WinInet(“Windows Internet”)API帮助程序员使用三个常见的Internet协议,这三个协议是用于World Wide Web万维网的超文本传输协议(HTTP:Hypertext Transfer Protocol)、文件传输协议(FTP:File Transfer Protocol)和另一个称为Gopher的文件传输协议。 WinInet函数的语法与常用... 阅读详情

相关推荐

C#清除WebBrowser中Cookie缓存的方法

主要介绍了C#清除WebBrowser中Cookie缓存的方法,涉及C#针对WebBrowser控件的操作技巧,非常简单实用,需要的朋友可以参考下

VC删除IE缓存、COOKIE及浏览记录

VC删除IE缓存、COOKIE及浏览记录 Vc删除IE缓存、cOOKIE及浏览记录,刚做了一个实验,发现不能运用c++函数库和windows提供的FindFirstFile和FindNextFile来查找c:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files里面的临时文件。 上网

八零后 1177

C#中,使用wininet.dll中的InternetSetOption设置FTP访问超时时间

API定义: [DllImport("wininet.dll", EntryPoint = "InternetSetOptionA", CharSet = CharSet.Ansi, SetLastError = true, PreserveSig = true)] public static extern bool InternetSetOption(int hIntern

abc221414的专栏 5520

[IE编程] 了解Urlmon.dllWininet.dll

Windows 网络编程常用的API库有Winsock,Wininet 和 Urlmon。Winsock 实现了基本的套接字(socket)功能, 而 wininet 和 urlmon在winsock 的基础上封装了HTTP, FTP, WWW 的协议。 这篇文章 《Under the Hood: WinINet》(http://blogs.technet.com/askperf/archive/

IE浏览器开发 7252

wininet与urlmon

We often have to work with customers to understand why a specific IE scenario fails.  In some instances we may have to enable some custom logging and data collection to get to the root cause.  However

345

wininet.dll 使用锦集

//判断计算机是否能够连接到Internet的API //wininet.dll是Windows应用程序网络相关模块。该文件隶属于%\WINDOWS\SYSTEM32目录下动态库连接文件。该文件不可缺失,属于关键链接库。当文件丢失或者损坏时,届时将无法完成Explorer进程(即桌面以及基于该进程的IE浏览器等,可使用不基于IE浏览器进行访问网络) [DllImport("...

aa745353005的博客 639

c# winform webbrowser获取不到cookie 为空值

1.问题描述 使用WebBrowser控件加载一个别人的网站,输入用户名密码登录成功以后,可以操作网站的增删改查等一些操作,证明Cookie是存在的,并且通过Fiddler抓包也可以看到Cookie。但当我使用webBrowser1.Document.Cookie时却获取不到Cookie,是空值,这是为什么呢?这是由于HttpOnly属性导致客户端无法读取到Cookie! 2.解决办法 使用下列FullWebBrowserCookie.GetCookieInternal(new Uri(url)); 方法获

cgs的博客 1223

爬虫程序cookie和proxy的解决方法

作为一个合理的爬虫程序,cookie和proxy是必须解决的问题, 相信很多朋友都遇到过类似问题。wininet.dll中包含很多win32下和网络有关的函数,包括internet,ftp,cookie,Proxy等,比如soso问问和百度知道的登陆信息可以保存2天,你在登陆后把系统时间改为2天后,登陆信息就失效了,使用InternetSetCookie可以自己设置过期日期。 首先在IE

liji2009的专栏 758
上一篇: WinForm特效:同时让两个窗体有激活效果
下一篇: wininet.dll函数库:不会过期的cookie
iteye_4537
博客等级 码龄8年 371粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值