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


Posted in Python onFebruary 17, 2020

一、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()

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

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)

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

三、源码

Reptitle7_1_SaveCookie.py

Reptitle7_2_LoadCookie.py

Reptitle7_3_SSLAnalysis.py

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

Python 相关文章推荐
python 实现堆排序算法代码
Jun 05 Python
Python计算程序运行时间的方法
Dec 13 Python
利用Python绘制MySQL数据图实现数据可视化
Mar 30 Python
Python中defaultdict与lambda表达式用法实例小结
Apr 09 Python
Python Numpy:找到list中的np.nan值方法
Oct 30 Python
python爬虫模拟浏览器访问-User-Agent过程解析
Dec 28 Python
Pytest框架之fixture的详细使用教程
Apr 07 Python
Python利用for循环打印星号三角形的案例
Apr 12 Python
在CentOS7下安装Python3教程解析
Jul 09 Python
Python numpy大矩阵运算内存不足如何解决
Nov 19 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 11 Python
Python中用pyinstaller打包时的图标问题及解决方法
Feb 17 #Python
Python交互环境下打印和输入函数的实例内容
Feb 16 #Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
Feb 16 #Python
基于python实现微信好友数据分析(简单)
Feb 16 #Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
Feb 16 #Python
python中的 zip函数详解及用法举例
Feb 16 #Python
Python中zip()函数的解释和可视化(实例详解)
Feb 16 #Python
You might like
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
第四节 构造函数和析构函数 [4]
2006/10/09 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
2014/08/20 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
2014/04/16 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
2014/10/16 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
Vue框架里使用Swiper的方法示例
2018/09/20 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
Python随手笔记之标准类型内建函数
2015/12/02 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
Python while循环使用else语句代码实例
2020/02/07 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
COS美国官网:知名服装品牌
2019/04/08 全球购物
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
英文版银行求职信
2013/10/09 职场文书
学生励志演讲稿
2014/01/06 职场文书
西北政法大学自主招生自荐信
2014/01/29 职场文书
开门红主持词
2014/04/02 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
代领毕业证委托书
2014/08/02 职场文书
2014年基建工作总结
2014/12/12 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
建国大业观后感
2015/06/01 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
pyqt5打包成exe可执行文件的方法
2021/05/14 Python
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android