`
380071587
  • 浏览: 447833 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Cookie编程入门篇

 
阅读更多

Cookie就是所谓的"小甜饼",他最早出现是在NetscapeNavigator.0中。Cookie其实就是由Web服务器创建的、将信息存储在计算机上的文件。那么为什么Web服务器要在客户机上面创建如此文件?这是因为当客户机发送一个请求到WEB服务器时(譬如准备浏览面时),无论此客户机是否是第一次来访,服务器都会把它当作第一次来对待,WEB服务器所做的工作只是简单的进行响应,然后就关闭与该用户的连接。这样处理过程所带来的缺点时显而易见的。自从网景公司开发出Cookie以后,就可以利用Cookie来保存用户的识别信息。Cookie的作用可以记录了您在该站点上曾经访问过的面,由此帮助您下次访问该站点时自定义查看。Cookies也可以存储个人可识别信息。个人可识别信息是可以用来识别或联系您的信息,例如姓名、电子邮件地址、家庭或工作地址,或者电话号码。然而,网站只能访问您提供的个人可识别信息。例如,除非您提供电子邮件名称,否则网站将不能确定您的电子邮件名称。另外,网站不能通过Cookie来访问计算机上的其他信息。当然除非你提供。那么Cookie到底存放在什么地方?如果机器的系统是视窗98且安装在"C"盘中,那么Cookie存放在"C:/Windows/Cookies"目录中;如果机器系统是视窗000且安装在"C"盘中,那么Cookie存放在"C:/DocumentsandSettings/Administrator/Cookies"目录中。了解了Cookie这么多知识,我们还是来了解一下本文的重点--C#是如何进行Cookie方面编程的。主要内容有二点:其一是C#是如何写入Cookie;其二是C#是如何访问自己写入的Cookie

一、本文介绍C#Cookie编程的程序设计和运行的软件环境

微软公司视窗000服务器版

.NetFrameWorkSDKBeta

C#进行Cookie方面编程是通过ASP.NET面来实现的。

二、C#如何写入Cookie

为了写入Cookie,他的步骤主要有三步,具体如下:

首先就要创建一个HttpCookie对象,通过这个对象来构造一个Cookie,这个对象的名称就是以后产生的Cookie名称。具体如下代码:

HttpCookiecookie=newHttpCookie("用户定义的Cookie名称");

然后对创建的HttpCookie对象的"Value"属性分配一个字符串值,"Value"的值就是后来产生的Cookie的值。具体代码如下:

cookie.Value="用户给Cookie赋值"

如果你想写入的Cookie数值不是一个简单的字符串,而是一个复杂的数据类型,我们知道这些数据类型是不能直接存贮到Cookie中的,因为Cookie中只能存贮字符串。但你可以通过一个变通的方法,就是把这个复杂的数据类型转换成多个字符串,然后把这多个字符串同时赋值给产生的Cookie值,这样Cookie中的内容就丰富了,以后利用Cookie完成的功能也强大了。这时你可能就会明白为什么当你浏览Web服务器,Web服务器会知道你什么时候曾经浏览过,并且曾经待过多长时间等信息了。因为这些信息已经存储到你第一次浏览面时,Web服务器产生的Cookie中去了。下列代码是把多个字符串存储到Cookie的例子:

cookie["姓名"]="xs";
cookie["性别"]="";
cookie["年龄"]="6";

Cookie有临时的,也有永远的。永久Cookie以文件形式存储在计算机上,关闭InternetExplorer时仍然保留在计算机上。再次访问该站点时,创建该Cookie的网站可以读取。在具体的编程时候,是在写入此Cookie的时候,设定Cookie的生命周期,具体如下代码:

DateTimedtNow=DateTime.Now;
TimeSpantsMinute=newTimeSpan(0,1,0,0);
cookie.Expires=dtNow+tsMinute;

以上代码是设定产生的Cookie的生命期为"一个小时",你可以通过修改"TimeSpan"属性来设定产生Cookie的具体生命期。

.最后调用"Response.Cookies"对象的"Add()"方法,加入此对象,这样就可以产生一个Cookie了。具体代码如下:

当然上面的代码产生的Cookie在内容上面有点单调了。其实对于内容十分丰富的Cookie来说,他还有许多属性,充分的利用这些属性,才可以利用了Cookie的强大功能。下表是Cookie的一些常用的属性:

属性描述

Domain设定/获得Cookie应属于的域名。一旦设定了此属性,则只限定于此域名的Web服务器访问此Cookie。可以设定为"ccw.com.cn"

Path设定/获得Cookie应属于的路径,如果设定后,则访问此CookieWeb面则被限定在此路径里面。其他路径的Web面则不能访问。

Secure设定/获得一个标识来表明利用HTTP协议是否能够安全的传输Cookie到客户端的浏览器。

HasKeys表明是否此Cookie是否是多个字符串组成的。

在写入Cookie的时候,最大限度的利用这些属性,对于最大程度的利用写入的Cookie是十分重要的。

三、C#是如何读取已产生的Cookie

读取指定的Cookie比起写入Cookie要来的容易的多了,只需要使用"Request.Cookies"对象就可以完成。下面是读取指定Cookie名称的方法:

HttpCookiecookie=Request.Cookies["Cookie的名称"];

下面是显示已经读取了的Cookie的数值:

Response.Write(cookie.Value.ToString());

掌握了上面的要点,读取Cookie就显得非常容易了,下列是读取Cookie的程序代码(read.aspx):

效果图如下:

四、总结

至此我们已经介绍了用C#Cookie编程的大部分内容。其实Cookie在互联网上有着比较大的作用。譬如它可让WEB站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径等;还可告诉在线广告商广告被点击的次数,从而可以更精确的投放广告;它可让用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点;最为重要的是它可帮助站点统计用户资料以实现个性化服务等等。掌握了C#Cookie编程,就可以在程序中充分利用Cookie来实现上面的这些功能了。不信你试一试。

<!--EndFragment-->
分享到:
评论

相关推荐

    ASP.NET3.5从入门到精通

    第一篇窗口与界面编程 7 2.1.2 C# IDE 的代码设置 2.2 变量 2.2.1 定义 2.2.2 值类型 2.2.3 引用类型 2.3 变量规则 2.3.1 命名规则和命名习惯 2.3.2 声明并初始化变量 2.3.3 数组 2.3.4 声明并初始化字符串 2.3.5 ...

    PHP从入门到精通第二版

    本书内容详尽,实例丰富,非常适合作为编程初学者的学习用书,也适合作为开发人员的查阅、参考资料。 目录: 第1篇 基础知识 第1章 初识PHP 视频讲解:19分钟 1.1 PHP概述 1.2 扩展库 1.3 如何学好PHP 1.4 学习...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 引用实体 参数实体 ide开发xml 9-5 5.php xml编程⑤-...

    21天学通JavaScript 源代码1(还有10章在源代码2文件)

    第二篇专门介绍JavaScript中内置对象的应用,内容包括JavaScript对象基础、窗口和框架、屏幕和浏览器对象、文档对象、历史对象和地址对象、表单对象和表单元素和脚本化cookie等。第三篇讲解的是JavaScript的高级技术...

    (全)传智播客PHP就业班视频完整课程

    9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 引用实体 参数实体 ide开发xml 9-5 5.php xml编程⑤-...

    史上最全传智播客PHP就业班视频课,8月份视频

    9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 引用实体 参数实体 ide开发xml 9-5 5.php xml编程⑤-...

    21天学通JavaScript 源代码2(有一部分在源码1文件中)

    第二篇专门介绍JavaScript中内置对象的应用,内容包括JavaScript对象基础、窗口和框架、屏幕和浏览器对象、文档对象、历史对象和地址对象、表单对象和表单元素和脚本化cookie等。第三篇讲解的是JavaScript的高级技术...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 引用实体 参数实体 ide开发xml 9-5 5.php xml编程⑤-...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 引用实体 参数实体 ide开发xml 9-5 5.php xml编程⑤-...

    Exploit 编写系列教程.pdf

    第六篇:绕过Cookie,SafeSeh,HW DEP 和ASLR......126 第七篇:编写Unicode Exploit...................218 第八篇:Win32 Egg Hunting.....................256 第九篇:Win32 Shellcode编写入门...............316 ...

    Selenium自动化测试入门到精通项目实战 Java篇

    课程介绍 你是否在寻找机会进入自动化测试领域? 你是否渴望学习selenium webdriver + Java以及最新的框架和技术进行web自动化测试? 你是否感兴趣学习Selenium如何用在你现有的项目里的? 这门课带你从Selenium...

    asp.net知识库

    如何在.NET中实现脚本引擎 (CodeDom篇) .NET的插件机制的简单实现 我对J2EE和.NET的一点理解 难分难舍的DSO(一) InternalsVisibleToAttribute,友元程序集访问属性 Essential .NET 读书笔记 [第一部分] ...

    PHP和MySQL WEB开发(第4版)

    第13章 MySQL高级编程 13.1 LOAD DATA INFILE语句 13.2 存储引擎 13.3 事务 13.3.1 理解事务的定义 13.3.2 通过InnoDB使用事务 13.4 外键 13.5 存储过程 13.5.1 基本示例 13.5.2 局部变量 13.5.3 游标和控制结构 ...

    PHP和MySQL Web开发第4版pdf以及源码

    第13章 MySQL高级编程 13.1 LOAD DATA INFILE语句 13.2 存储引擎 13.3 事务 13.3.1 理解事务的定义 13.3.2 通过InnoDB使用事务 13.4 外键 13.5 存储过程 13.5.1 基本示例 13.5.2 局部变量 13.5.3 游标和...

    PHP和MySQL Web开发第4版

    第13章 MySQL高级编程 13.1 LOAD DATA INFILE语句 13.2 存储引擎 13.3 事务 13.3.1 理解事务的定义 13.3.2 通过InnoDB使用事务 13.4 外键 13.5 存储过程 13.5.1 基本示例 13.5.2 局部变量 13.5.3 游标和...

    ASP.NET 3.5 开发大全11-15

    第五篇 ASP.NET 3.5高级编程 第15章 图形图像编程 15.1 图形图像基础 15.1.1 图像布局 15.1.2 GDI+简介 15.1.3 绘制线条示例 15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 ...

    ASP.NET 3.5 开发大全

    第五篇 ASP.NET 3.5高级编程 第15章 图形图像编程 15.1 图形图像基础 15.1.1 图像布局 15.1.2 GDI+简介 15.1.3 绘制线条示例 15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 ...

    ASP.NET 3.5 开发大全1-5

    第五篇 ASP.NET 3.5高级编程 第15章 图形图像编程 15.1 图形图像基础 15.1.1 图像布局 15.1.2 GDI+简介 15.1.3 绘制线条示例 15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 ...

    ASPNET35开发大全第一章

    第五篇 ASP.NET 3.5高级编程 第15章 图形图像编程 15.1 图形图像基础 15.1.1 图像布局 15.1.2 GDI+简介 15.1.3 绘制线条示例 15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 ...

    ASP.NET 3.5 开发大全word课件

    第五篇 ASP.NET 3.5高级编程 第15章 图形图像编程 15.1 图形图像基础 15.1.1 图像布局 15.1.2 GDI+简介 15.1.3 绘制线条示例 15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 ...

Global site tag (gtag.js) - Google Analytics