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 相关文章推荐
2款Python内存检测工具介绍和使用方法
Jun 01 Python
MySQL中表的复制以及大型数据表的备份教程
Nov 25 Python
深入理解python中的浅拷贝和深拷贝
May 30 Python
python实现m3u8格式转换为mp4视频格式
Feb 28 Python
python通过伪装头部数据抵抗反爬虫的实例
May 07 Python
详解Python中的正则表达式
Jul 08 Python
python操作excel文件并输出txt文件的实例
Jul 10 Python
python替换字符串中的子串图文步骤
Jun 19 Python
简单了解python反射机制的一些知识
Jul 13 Python
pycharm显示远程图片的实现
Nov 04 Python
Python完全识别验证码自动登录实例详解
Nov 24 Python
Python如何安装第三方模块
May 28 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
PHP操作mysql数据库分表的方法
2016/06/09 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
读jQuery之四(优雅的迭代)
2011/06/20 Javascript
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
javascript实现禁止复制网页内容
2014/12/16 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
javascript给span标签赋值的方法
2015/11/26 Javascript
AngularJS手动表单验证
2016/02/01 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
p5.js入门教程之平滑过渡(Easing)
2018/03/16 Javascript
vue.js使用watch监听路由变化的方法
2018/07/08 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
python中的时区问题
2021/01/14 Python
美国第一个网上卖鞋零售商:OnlineShoes.com
2017/09/24 全球购物
中学实习教师自我鉴定
2013/12/12 职场文书
歌唱比赛获奖感言
2014/01/21 职场文书
少先队入队活动方案
2014/02/08 职场文书
廉洁教育学习材料
2014/05/19 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
Python实现列表拼接和去重的三种方式
2021/07/02 Python