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实现的检测web服务器健康状况的小程序
Sep 17 Python
Python 模板引擎的注入问题分析
Jan 01 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
Jun 15 Python
简单易懂的python环境安装教程
Jul 13 Python
python学习笔记之列表(list)与元组(tuple)详解
Nov 23 Python
Python3单行定义多个变量或赋值方法
Jul 12 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
Aug 31 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 Python
如何用Python和JS实现的Web SSH工具
Feb 23 Python
Python time库的时间时钟处理
May 02 Python
Python Parser的用法
May 12 Python
教你使用一行Python代码玩遍童年的小游戏
Aug 23 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
延长phpmyadmin登录时间的方法
2011/02/06 PHP
关于php内存不够用的快速解决方法
2013/10/26 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
js window.event对象详尽解析
2009/02/17 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
2014/12/31 Javascript
VUEJS实战之修复错误并且美化时间(2)
2016/06/13 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
jquery实现左右轮播图效果
2017/09/28 jQuery
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
Vue3为什么这么快
2020/09/23 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
React服务端渲染原理解析与实践
2021/03/04 Javascript
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
Python中线程编程之threading模块的使用详解
2015/06/23 Python
django框架自定义用户表操作示例
2018/08/07 Python
Python中base64与xml取值结合问题
2019/12/22 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
JBL美国官方商店:扬声器、耳机等
2019/12/01 全球购物
乡镇信息公开实施方案
2014/03/23 职场文书
租房协议书范本
2014/04/09 职场文书
HR求职自荐信范文
2014/06/21 职场文书
学雷锋活动倡议书
2014/08/30 职场文书
党员十八大心得体会
2014/09/12 职场文书