Python cookie的保存与读取、SSL讲解

所属分类: 脚本专栏 / python 阅读数: 1815
收藏 0 赞 0 分享

一、cookie的保存与读取

1.cookie的保存-FileCookie.Jar

from urllib import request,parse

from http import cookiejar

#创建cookiejar实例

filename = "cookie.txt"

cookie = cookiejar.MozillaCookieJar(filename)

#生成cookie的管理器

cookie_handler = request.HTTPCookieProcessor(cookie)

#创建http请求管理器

http_handler = request.HTTPHandler()

#生成https管理器

https_handler = request.HTTPHandler()

#创建请求管理器

opener = request.build_opener(http_handler,https_handler,cookie_handler)

​

def login():

 """

 负责初次登录

 需要输入用户名密码

 :return:

 """

 url = "http://www.renren.com/PLogin.do"

 data = {

 "email":"1215217867@qq.com",

 "password":"481648541615485"

 }

 #把数据进行编码

 data = parse.urlencode(data)

 #创建一个请求对象

 req = request.Request(url,data=data.encode())

 #使用opener发起请求

 rep = opener.open(req)

 #保存cookie到文件

 #ignore_discard表示及时cookie将要被丢弃也要保存下来

 #ignore_expire表示如果该文件中cookie即使已经过期,保存

 cookie.save(ignore_discard=True,ignore_expires=True)

​

def getHomePage():

 url = "http://www.renren.com/965187997/profile"

 #如果已经执行了login函数,则opener自动已经包含相应的cookie值

 rsp = opener.open(url)

​

 html = rsp.read().decode()

 with open("rsp.html","w") as f:

 f.write(html)

​

if __name__ == "__main__":

 """

 执行完login之后,会得到授权之后的cookie

 我们尝试把cookie打印出来

 """

 login()

 getHomePage()

2.cookie的读取

from urllib import request,parse

from http import cookiejar

#创建cookiejar实例

cookie = cookiejar.MozillaCookieJar()

cookie.load("cookie.txt",ignore_discard=True,ignore_expires=True)

​

#生成cookie的管理器

cookie_handler = request.HTTPCookieProcessor(cookie)

#创建http请求管理器

http_handler = request.HTTPHandler()

#生成https管理器

https_handler = request.HTTPHandler()

#创建请求管理器

opener = request.build_opener(http_handler,https_handler,cookie_handler)

​

def login():

 """

 负责初次登录

 需要输入用户名密码

 :return:

 """

 url = "http://www.renren.com/PLogin.do"

 data = {

 "email":"1215217867@qq.com",

 "password":"481648541615485"

 }

 #把数据进行编码

 data = parse.urlencode(data)

 #创建一个请求对象

 req = request.Request(url,data=data.encode())

 #使用opener发起请求

 rep = opener.open(req)

 #保存cookie到文件

 #ignore_discard表示及时cookie将要被丢弃也要保存下来

 #ignore_expire表示如果该文件中cookie即使已经过期,保存

 cookie.save(ignore_discard=True,ignore_expires=True)

​

def getHomePage():

 url = "http://www.renren.com/965187997/profile"

 #如果已经执行了login函数,则opener自动已经包含相应的cookie值

 rsp = opener.open(url)

​

 html = rsp.read().decode()

 with open("rsp.html","w") as f:

 f.write(html)

​

​

if __name__ == "__main__":

 """

 执行完login之后,会得到授权之后的cookie

 我们尝试把cookie打印出来

 """

 # login()

 getHomePage()

改代码读取了保存的cookie文件,并且​访问网页成功。

二、SSL

1.什么是SSL

(1)SSL证书就是指遵守SSL安全套阶层协议的服务器数字证书(SercureSocketLayer)

(2)该证书是由美国网景公司开发

(3)CA(CertifacateAuthority)是数字证书认证中心,是发放、管理、废除数字证书的收信人的​第三方机构。

(4)遇到不信任的SSL证书,可以用代码进行忽略掉

from urllib import request

#导入python ssl处理模块

import ssl

#利用非认证上下文环境替换认证的下文环境

ssl._create_default_https_context = ssl._create_unverified_context

url = "https://www.12306.cn/mormhweb/"

rsp = request.urlopen(url)

​

html = rsp.read().decode()

​

print(html)

三、源码

Reptitle7_1_SaveCookie.py

Reptitle7_2_LoadCookie.py

Reptitle7_3_SSLAnalysis.py

以上就是本次介绍的全部相关知识点,感谢大家的学习和对脚本之家的支持。

更多精彩内容其他人还在看

使用Python写一个量化股票提醒系统

这篇文章主要介绍了小白用Python写了一个股票提醒系统,迷你版量化系统,完美的实现了实时提醒功能,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Python绘制的二项分布概率图示例

这篇文章主要介绍了Python绘制的二项分布概率图,涉及Python基于numpy、math的数值运算及matplotlib图形绘制相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Python Learning 列表的更多操作及示例代码

这篇文章主要介绍了Python Learning-列表的更多操作,需要的朋友可以参考下
收藏 0 赞 0 分享

关于python列表增加元素的三种操作方法

这篇文章主要介绍了关于python列表增加元素的几种操作方法,主要有insert方法,extend方法和append方法,每种方法给大家介绍的非常详细,需要的朋友可以参考下
收藏 0 赞 0 分享

如何在python字符串中输入纯粹的{}

这篇文章主要介绍了如何在python字符串中输入纯粹的{}以及python字符串连接的三种方法,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈Django的缓存机制

这篇文章主要介绍了浅谈Django的缓存机制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Django 限制用户访问频率的中间件的实现

这篇文章主要介绍了Django 限制用户访问频率的中间件的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

示例详解Python3 or Python2 两者之间的差异

这篇文章主要介绍了Python3 or Python2?示例详解两者之间的差异,在本文中给大家介绍的非常详细,需要的朋友可以参考下
收藏 0 赞 0 分享

Python wxpython模块响应鼠标拖动事件操作示例

这篇文章主要介绍了Python wxpython模块响应鼠标拖动事件操作,结合实例形式分析了Python使用wxpython模块创建窗口、绑定事件及相应鼠标事件相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

使用Python实现一个栈判断括号是否平衡

栈(Stack)在计算机领域是一个被广泛应用的集合,栈是线性集合,访问都严格地限制在一段,叫做顶(top)。这篇文章主要介绍了使用Python实现一个栈判断括号是否平衡,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多