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实现数通设备端口使用情况监控实例
Jul 15 Python
python实现SOM算法
Feb 23 Python
python3+PyQt5实现拖放功能
Apr 24 Python
基于Python log 的正确打开方式
Apr 28 Python
Django网络框架之HelloDjango项目创建教程
Jun 06 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
python中p-value的实现方式
Dec 16 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
Aug 04 Python
小结Python的反射机制
Sep 28 Python
分享一个python的aes加密代码
Dec 22 Python
python源文件的字符编码知识点详解
Mar 04 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
PHP 存取 MySQL 数据库的一个例子
2006/10/09 PHP
php正则修正符用法实例详解
2016/12/29 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
AngularJs  Understanding Angular Templates
2016/09/02 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
Node中使用ES6语法的基础教程
2018/01/05 Javascript
微信小程序实现留言功能
2018/10/31 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
一步步教你用Python实现2048小游戏
2017/01/19 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
简单了解python代码优化小技巧
2019/07/08 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
大码女装:Ulla Popken
2019/08/06 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
大学生求职推荐信
2013/11/27 职场文书
女大学生个人求职信
2013/12/09 职场文书
2014新课程改革心得体会
2014/03/10 职场文书
房地产广告词大全
2014/03/19 职场文书
买卖协议书范本
2014/04/21 职场文书
安全生产月标语
2014/10/07 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
python单元测试之pytest的使用
2021/06/07 Python
详解MindSpore自定义模型损失函数
2021/06/30 Python
Java 异步任务计算FutureTask
2022/04/28 Java/Android