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之玩转字符串(1)
Sep 14 Python
Python 将RGB图像转换为Pytho灰度图像的实例
Nov 14 Python
Python+tkinter使用40行代码实现计算器功能
Jan 30 Python
对Python3 解析html的几种操作方式小结
Feb 16 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
Django的Modelforms用法简介
Jul 27 Python
python数组循环处理方法
Aug 26 Python
Python 使用type来定义类的实现
Nov 19 Python
Python中包的用法及安装
Feb 11 Python
Python实现子类调用父类的初始化实例
Mar 12 Python
Python selenium模拟手动操作实现无人值守刷积分功能
May 13 Python
利用Python pandas对Excel进行合并的方法示例
Nov 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
PHP5中虚函数的实现方法分享
2011/04/20 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
PHP attributes()函数讲解
2019/02/03 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
javascript 实现map集合
2015/04/03 Javascript
JavaScript使用encodeURI()和decodeURI()获取字符串值的方法
2015/08/04 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
Vue.js图片预览插件使用详解
2018/08/27 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
python通过floor函数舍弃小数位的方法
2015/03/17 Python
简单谈谈Python中的反转字符串问题
2016/10/24 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
Python更新所有已安装包的操作
2020/02/13 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
Html5实现单张、多张图片上传功能
2019/04/28 HTML / CSS
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
学校四风对照检查材料
2014/08/28 职场文书
2014年培训工作总结范文
2014/11/27 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
通报表扬范文
2015/01/17 职场文书
工程部文员岗位职责
2015/02/04 职场文书
欠款起诉书范文
2015/05/19 职场文书
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server