在前面一节中,我已经简单的说了cookies的一些内容,我相信你们也不陌生,好多的杀毒软件会经常提示说为了保护用户的隐私,须要按期清理cookies,等等,这一节,咱们就来认真聊一聊cookies
为了增长可信度,我仍是引用百度上百科的一段文字
python
Cookies是一种可以让网站服务器把少许数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站 时,由Web服务器置于你硬盘上的一个很是小的文本文件,它能够记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通 过读取Cookies,得知你的相关信息,就能够作出相应的动做,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登陆等等。
从 本质上讲,它能够看做是你的身份证。但Cookies不能做为代码执行,也不会传送病毒,且为你所专有,并只能由提供它的服务器来读取。保存的信息片段以 “名/值”对(name-value pairs)的形式储存,一个“名/值”对仅仅是一条命名的数据。一个网站只能取得它放在你的电脑中的信息,它没法从其它的Cookies文件中取得信 息,也没法获得你的电脑上的其它任何东西。
Cookies中的内容大多数通过了加密处理,所以通常用户看来只是一些毫无心义的字母数字组合,只有服务器的CGI处理程序才知道它们真正的含义。
因为Cookies是咱们浏览的网站传输到用户计算机硬盘中的文本文件或内存中的数据,所以它在硬盘中存放的位置与使用的操做系统和浏览器密切相关。
sql
上面的一段文字很通俗易懂了,我在网上查找关于cookies的资料的时候也看到许多有意思的描述,可是在这里就不跟你们说了,有兴趣能够本身去看一下。对于我来讲,我想告诉你们的信息是:cookies 能让你在不从新输入用户ID和密码的状况下自动登陆网站
那么,我能不能经过什么方法获取到cookies,而后直接使用这个cookies来模拟登陆呢,这彷佛是一个很值得尝试的作法,可是首先,咱们应该从怎么获取cookies开始
关于怎么获取cookies,我能想到而且试验过的有三种方法:
1. 既然cookies是存在本地文件的,那我就找出存放的文件名,再查看里面的内容
我使用的是firefox,这里说一下方法:
1. 在地址栏输入:about:support,而后你就会看到这样一个界面
浏览器
而后找到配置文件夹---->打开目录,找到 cookies.sqlite或者相关文件,这些就是啦
服务器
2. 经过浏览器的工具查看
仍是火狐,按F12,会出现这样的窗口
cookie
这里的cookies有不少项,可是哪一些是咱们须要的呢?
咱们在cookies列表中随便选择一个,而后点击右键,会弹出这样一个菜单
工具
咱们看到有复制删除之类的选项,因此有一个很笨的方法,把cookies一条一条删除而后再登陆看看哪些是必须的哪些是没必要须的网站
3. 经过代码获取
cookies也是能够经过代码获取的,主要使用到了urllib2库和cookielib库,这里将代码贴上来,先没必要急着理解,这里只是告诉你们有这么一个方法,具体的状况后面会详细的讲 cookielib 这个模块
ui
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模拟登陆
加密