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://www.bianceng.cn", 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://www.bianceng.cn",name,value);
        InternetSetCookie("http://forum.csdn.net", name, value);
        InternetSetCookie("http://webim.csdn.net", name, value);
      }
    }
  }
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索cookie
, string
, 登陆
, stringbuilder
, wininet
, system
, ios csdn
, charset
, webIm多点登陆
, WININET.DLL
过期函数
,以便于您获取更多的相关知识。

时间: 2024-11-03 05:27:04

wininet.dll函数库:不会过期的cookie的相关文章

ecshop前后台函数库使用笔记

熟悉这些函数,可以减少不少麻烦,熟悉之后,你遍知道系统有哪些已经写好的功能,很多时候就可以直接拿来用,而不用因为不知道,去手写代码,这样就很不划算了. lib_main.php ECSHOP 前台公用函数库 update_user_info    更新用户SESSION,COOKIE及登录时间.登录次数. get_user_info     获取用户信息数组 assign_ur_here    取得当前位置和页面标题 get_parent_cats    获得指定分类的所有上级分类 build_

hook-MFC的DLL动态库,通过HOOk注入程序

问题描述 MFC的DLL动态库,通过HOOk注入程序 写了一个MFC DLL动态库.在mfc dll里面添加了对话框资源,并且添加一个对话框类CDlg. 可以通过SetWindowsHookEx注入到程序.但是退出的时候,被注入程序总是崩溃. dll注入程序int DllLoad( HWND hWnd ){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); int nRet = -1;dllHwnd = hWnd;HWND hwnd = FindWindo

写好的c程序如何封装成dll动态库

问题描述 写好的c程序如何封装成dll动态库 写好的c程序如何封装成dll动态库?其中此程序中已经调用了一个dll动态库.这种情况的要如何封装呢?即程序中包含普通函数和dll动态库.之前都没有做过这样的,小白菜一个,望知情人指教,最好附上详细的例子,谢谢! 解决方案 新建一个 dll 类型的项目,将程序贴进去,该使用的lib.h包括进来,在导出文件中写好函数名.即可. 你可以理解,windows api也是dll,c runtime也是dll,所以dll调用dll很正常很普遍,甚至不知不觉你早就

PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法_php实例

PHP用mb_string函数库处理与windows相关中文字符 昨天想批处理以前下载的一堆文件,把文件里的关键内容用正则匹配出来,集中处理.在操作文件时遇到一个问题,就是windows操作系统中的编码问题. 我们都知道windows中(当然是中文版),文件名和文件内容等编码都是gbk,而我们在开发过程中,IDE里的编码则是UTF-8,(这里不讨论为什么等等问题, 只考虑怎么把编码转变成一样的)所以导致我写的UTF-8编码的正则模式字符串中的中文在gbk编码的文件中并不能正确匹配. 一开始,我并

WAMP环境中扩展oracle函数库(oci)_php实例

同事昨天接到一个任务,要用php处理oracle数据库的内容,但是php打开oracle扩展不是像mysql那样直接用就行,需要下一点东西才能打开 第一步 需要到oracle官方下载一个install client 包,在win下找到你对应系统版本的zip(注意这里是系统版本) 截止到2015-06-25,下载地址如下http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 例如选择

VC下动态库dll,静态库lib的编写和使用方法

  在一些项目中,考虑到系统的安全性和稳定性,经常要封装一些DLL或者LIB库供别人使用,那么怎么制作DLL或者LIB文件呢?今天特酷吧根据自己的实际情况给大家讲解下基本的制作方法.以下是我亲自操作的记录:1,动态库dll的编写方法:新建一个动态链接库: 填好工程名称即可选择工程类型,如果没有特别的要求,选择一个空工程即可.会看到这里和标准的控制台工程一样,没有任何系统默认建立的文件 下面就需要我们添加一些文件.建立动态库dll文件 , 我们不需要写main函数.只需要一个一个的实现我们需要实现

“数据访问函数库”(DataAccessLibrary for .net2.0 )源代码下载 09.06.15更新

  最新下载地址: http://www.naturefw.com/nature/down.aspx      DLL文件说明      Controls.dll 控件集合,包含QuickPager分页控件等.      DataAccess2.0.dll 数据访问函数库,分页控件需要使用这个dll来访问数据库.   连接字符串,在web.config里面设置如下:     <appSettings>        <add key="DataBaseType" va

在VC中使用MATLAB C/C++函数库

MATLAB广泛应用于线性代数.自动控制理论.数理统计.数字信号处理.时间序列分析.动态系统仿真等领域.因此如果在VC中对MATLAB进行调用将大大减少编程的工作量.保证程序的准确性,并且继承了VC++强大的功能,提高开发效率,本文将介绍了在VC中使用MATLAB函数库的具体步骤: 在VC中建立一个项目后: 1.设置: 添加路径: 在project-settings-c/C++-category:-preprocessor-Additional include directories:栏目中添加

php BC高精确度函数库

$right 返回 1 *$scale 小数点位数 *************************************************************************************** $a = 4.45; $b = 5.54; if(bccomp($a, $b, 2) == 0) { } ***********************************************************************************