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 相关文章推荐
gearman的安装启动及python API使用实例
Jul 08 Python
python中的多线程实例教程
Aug 27 Python
python实现按行切分文本文件的方法
Apr 18 Python
Python操作SQLite数据库的方法详解
Jun 16 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
PyTorch学习笔记之回归实战
May 28 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
Feb 22 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
Feb 28 Python
python 的topk算法实例
Apr 02 Python
Python如何定义接口和抽象类
Jul 28 Python
python 实现百度网盘非会员上传超过500个文件的方法
Jan 07 Python
virtualenv隔离Python环境的问题解析
Jun 21 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 开发环境配置(测试开发环境)
2010/04/28 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
extjs render 用法介绍
2013/09/11 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
JS实现弹性漂浮效果的广告代码
2015/09/02 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
基于JS递归函数细化认识及实用实例(推荐)
2017/08/07 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
原生JS封装_new函数实现new关键字的功能
2018/08/12 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
JavaScript作用域链实例详解
2019/01/21 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
Vue函数式组件的应用实例详解
2019/08/30 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
jQuery实现动态向上滚动
2020/12/21 jQuery
Python迭代器和生成器定义与用法示例
2018/02/10 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
2020/08/04 Python
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
年会活动策划方案
2014/01/23 职场文书
工伤赔偿协议书
2014/04/15 职场文书
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js