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 zip文件 压缩
Dec 24 Python
python实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
使用python绘制常用的图表
Aug 27 Python
Python实现对百度云的文件上传(实例讲解)
Oct 21 Python
基于Python中单例模式的几种实现方式及优化详解
Jan 09 Python
Sanic框架路由用法实例分析
Jul 16 Python
Django使用paginator插件实现翻页功能的实例
Oct 24 Python
对python中的six.moves模块的下载函数urlretrieve详解
Dec 19 Python
python实现知乎高颜值图片爬取
Aug 12 Python
python文件绝对路径写法介绍(windows)
Dec 25 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
Apr 08 Python
python读写数据读写csv文件(pandas用法)
Dec 14 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
MySQL数据源表结构图示
2008/06/05 PHP
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
JSON取值前判断
2014/12/23 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
Python打印scrapy蜘蛛抓取树结构的方法
2015/04/08 Python
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
Django发送邮件功能实例详解
2019/09/02 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
Python中logger日志模块详解
2020/08/04 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
计算机专业大学生的自我评价
2013/11/14 职场文书
软件工程师岗位职责
2013/11/16 职场文书
《窗前的气球》教学反思
2014/04/07 职场文书
推广普通话的宣传语
2015/07/13 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
Python制作春联的示例代码
2022/01/22 Python