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编写弹球游戏的实现代码
Mar 12 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
python实现指定文件夹下的指定文件移动到指定位置
Sep 17 Python
python实现列表中最大最小值输出的示例
Jul 09 Python
Python画图高斯分布的示例
Jul 10 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
Jan 20 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
Django中ORM的基本使用教程
Dec 22 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 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实现的增强性mhash函数
2015/05/27 PHP
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
php简单压缩css样式示例
2016/09/22 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
jQuery live
2009/05/15 Javascript
js限制文本框只能输入数字(正则表达式)
2012/07/15 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
几句话带你理解JS中的this、闭包、原型链
2016/09/26 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
Node 代理访问的实现
2019/09/19 Javascript
[04:11]DOTA2上海特级锦标赛主赛事首日TOP10
2016/03/03 DOTA
Python实现LRU算法的2种方法
2015/06/24 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
Melissa香港官网:MDreams
2016/07/01 全球购物
英国最大线上综合鞋类商城:Office
2017/12/08 全球购物
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
Java面试题及答案
2012/09/08 面试题
高三生物教学反思
2014/01/25 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
党支部2014年度工作总结
2014/12/04 职场文书
护士自我推荐信范文
2015/03/24 职场文书
2015年资料员工作总结
2015/04/25 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang