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中__init__()方法的高级应用
May 11 Python
在Python中通过threading模块定义和调用线程的方法
Jul 12 Python
python与php实现分割文件代码
Mar 06 Python
在pandas中一次性删除dataframe的多个列方法
Apr 10 Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
Sep 27 Python
用python代码将tiff图片存储到jpg的方法
Dec 04 Python
简单了解Python3里的一些新特性
Jul 13 Python
Python算法的时间复杂度和空间复杂度(实例解析)
Nov 19 Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 Python
Python collections模块的使用方法
Oct 09 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下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
php封装的page分页类完整实例
2016/10/18 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
javascript 写类方式之五
2009/07/05 Javascript
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
JavaScript传递变量: 值传递?引用传递?
2011/02/22 Javascript
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
Javascript实现计算个人所得税
2015/05/10 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
JS实现遍历不规则多维数组的方法
2018/03/21 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
解决Can't find variable: SockJS vue项目的问题
2020/09/22 Javascript
vue使用element-ui实现表单验证
2020/12/13 Vue.js
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
python 使用建议与技巧分享(四)
2020/08/18 Python
简单的命令查看安装的python版本号
2020/08/28 Python
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
自荐信要包含哪些内容
2013/11/06 职场文书
高中军训广播稿
2014/01/14 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
同学聚会致辞集锦
2015/07/28 职场文书