cookies相信大家很常见,一些杀毒软件常常会提示为了保护用户的隐私,需要清理cookies,那么这个cookies到底是什么呢? 为了增加可信度,我还是引用百度上百科的一段文字 Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。 从本质上讲,它可以看作是你的身份证。但Cookies不能作为代码执行,也不会传送病毒,且为你所专有,并只能由提供它的服务器来读取。保存的信息片断以“名/值”对(name-value pairs)的形式储存,一个“名/值”对仅仅是一条命名的数据。一个网站只能取得它放在你的电脑中的信息,它无法从其它的Cookies文件中取得信息,也无法得到你的电脑上的其它任何东西。 Cookies中的内容大多数经过了加密处理,因此一般用户看来只是一些毫无意义的字母数字组合,只有服务器的CGI处理程序才知道它们真正的含义。 由于Cookies是我们浏览的网站传输到用户计算机硬盘中的文本文件或内存中的数据,因此它在硬盘中存放的位置与使用的操作系统和浏览器密切相关。 上面的一段文字很通俗易懂了,但是对于我来说,我想告诉大家的信息是:cookies 能让你在不重新输入用户ID和密码的情况下自动登录网站 那么,我能不能通过什么方法获取到cookies,然后直接使用这个cookies来模拟登录呢,这似乎是一个很值得尝试的问题,但是首先,我们应该从怎么获取cookies开始 关于怎么获取cookies,我能想到并且试验过的有三种方法: 1. 既然是存在本地文件的,那我就找出存放的文件名,再查看里面的内容 我使用的是firefox,这里说一下方法: 1. 在地址栏输入:about:support,然后你就会看到这样一个界面 ![]() 然后找到配置文件夹---->打开目录,找到 cookies.sqlite或者相关文件,这些就是啦 2. 通过浏览器的工具查看还是火狐,按F12,会出现这样的窗口 ![]() 这里的cookies有很多项,但是哪一些是我们需要的呢? 在选择的cookies栏上面点击右键,会弹出一个菜单 ![]() 3. 通过代码获取 cookies也是可以通过代码获取的,主要使用到了urllib2库和cookielib库 import urllib2 import cookielib #声明一个CookieJar对象实例来保存cookie cookie = cookielib.CookieJar() #利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器 handler=urllib2.HTTPCookieProcessor(cookie) #通过handler来构建opener opener = urllib2.build_opener(handler) #此处的open方法同urllib2的urlopen方法,也可以传入request response = opener.open('http://www.baidu.com') for item in cookie: print 'Name = '+item.name print 'Value = '+item.value 好了,到这里我将我能想到的获取cookies的方法和实例都列举出来了,那么下一步我们应该尝试能否直接使用我们获取到的cookies模拟登录 |
|