Python cookie的保存與讀取、SSL講解
一、cookie的保存與讀取
1.cookie的保存-FileCookie.Jar
from urllib import request,parse
from http import cookiejar
#創(chuàng)建cookiejar實(shí)例
filename = "cookie.txt"
cookie = cookiejar.MozillaCookieJar(filename)
#生成cookie的管理器
cookie_handler = request.HTTPCookieProcessor(cookie)
#創(chuàng)建http請(qǐng)求管理器
http_handler = request.HTTPHandler()
#生成https管理器
https_handler = request.HTTPHandler()
#創(chuàng)建請(qǐng)求管理器
opener = request.build_opener(http_handler,https_handler,cookie_handler)
def login():
"""
負(fù)責(zé)初次登錄
需要輸入用戶名密碼
:return:
"""
url = "http://www.renren.com/PLogin.do"
data = {
"email":"1215217867@qq.com",
"password":"481648541615485"
}
#把數(shù)據(jù)進(jìn)行編碼
data = parse.urlencode(data)
#創(chuàng)建一個(gè)請(qǐng)求對(duì)象
req = request.Request(url,data=data.encode())
#使用opener發(fā)起請(qǐng)求
rep = opener.open(req)
#保存cookie到文件
#ignore_discard表示及時(shí)cookie將要被丟棄也要保存下來
#ignore_expire表示如果該文件中cookie即使已經(jīng)過期,保存
cookie.save(ignore_discard=True,ignore_expires=True)
def getHomePage():
url = "http://www.renren.com/965187997/profile"
#如果已經(jīng)執(zhí)行了login函數(shù),則opener自動(dòng)已經(jīng)包含相應(yīng)的cookie值
rsp = opener.open(url)
html = rsp.read().decode()
with open("rsp.html","w") as f:
f.write(html)
if __name__ == "__main__":
"""
執(zhí)行完login之后,會(huì)得到授權(quán)之后的cookie
我們嘗試把cookie打印出來
"""
login()
getHomePage()

2.cookie的讀取
from urllib import request,parse
from http import cookiejar
#創(chuàng)建cookiejar實(shí)例
cookie = cookiejar.MozillaCookieJar()
cookie.load("cookie.txt",ignore_discard=True,ignore_expires=True)
#生成cookie的管理器
cookie_handler = request.HTTPCookieProcessor(cookie)
#創(chuàng)建http請(qǐng)求管理器
http_handler = request.HTTPHandler()
#生成https管理器
https_handler = request.HTTPHandler()
#創(chuàng)建請(qǐng)求管理器
opener = request.build_opener(http_handler,https_handler,cookie_handler)
def login():
"""
負(fù)責(zé)初次登錄
需要輸入用戶名密碼
:return:
"""
url = "http://www.renren.com/PLogin.do"
data = {
"email":"1215217867@qq.com",
"password":"481648541615485"
}
#把數(shù)據(jù)進(jìn)行編碼
data = parse.urlencode(data)
#創(chuàng)建一個(gè)請(qǐng)求對(duì)象
req = request.Request(url,data=data.encode())
#使用opener發(fā)起請(qǐng)求
rep = opener.open(req)
#保存cookie到文件
#ignore_discard表示及時(shí)cookie將要被丟棄也要保存下來
#ignore_expire表示如果該文件中cookie即使已經(jīng)過期,保存
cookie.save(ignore_discard=True,ignore_expires=True)
def getHomePage():
url = "http://www.renren.com/965187997/profile"
#如果已經(jīng)執(zhí)行了login函數(shù),則opener自動(dòng)已經(jīng)包含相應(yīng)的cookie值
rsp = opener.open(url)
html = rsp.read().decode()
with open("rsp.html","w") as f:
f.write(html)
if __name__ == "__main__":
"""
執(zhí)行完login之后,會(huì)得到授權(quán)之后的cookie
我們嘗試把cookie打印出來
"""
# login()
getHomePage()
改代碼讀取了保存的cookie文件,并且訪問網(wǎng)頁成功。
二、SSL
1.什么是SSL
(1)SSL證書就是指遵守SSL安全套階層協(xié)議的服務(wù)器數(shù)字證書(SercureSocketLayer)
(2)該證書是由美國(guó)網(wǎng)景公司開發(fā)
(3)CA(CertifacateAuthority)是數(shù)字證書認(rèn)證中心,是發(fā)放、管理、廢除數(shù)字證書的收信人的第三方機(jī)構(gòu)。
(4)遇到不信任的SSL證書,可以用代碼進(jìn)行忽略掉
from urllib import request #導(dǎo)入python ssl處理模塊 import ssl #利用非認(rèn)證上下文環(huán)境替換認(rèn)證的下文環(huán)境 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)

三、源碼
以上就是本次介紹的全部相關(guān)知識(shí)點(diǎn),感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。
相關(guān)文章
簡(jiǎn)介Python設(shè)計(jì)模式中的代理模式與模板方法模式編程
這篇文章主要介紹了Python設(shè)計(jì)模式中的代理模式與模板方法模式編程,文中舉了兩個(gè)簡(jiǎn)單的代碼片段來說明,需要的朋友可以參考下2016-02-02
教你怎么用Python實(shí)現(xiàn)GIF動(dòng)圖的提取及合成
今天教大家一個(gè)Python有趣好玩的小功能:將多張圖片轉(zhuǎn)為GIF,同時(shí)也可以將一個(gè)GIF動(dòng)圖提取出里面的圖片,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
簡(jiǎn)單了解什么是神經(jīng)網(wǎng)絡(luò)
這篇文章主要介紹了簡(jiǎn)單了解什么是神經(jīng)網(wǎng)絡(luò),具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
Python Selenium實(shí)現(xiàn)無可視化界面過程解析
這篇文章主要介紹了Python Selenium實(shí)現(xiàn)無可視化界面過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
python3 os進(jìn)行嵌套操作的實(shí)例講解
在本篇文章里小編給大家整理了關(guān)于python3 os進(jìn)行嵌套操作的實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-11-11
python3下pygame如何實(shí)現(xiàn)顯示中文
這篇文章主要介紹了python3下pygame如何實(shí)現(xiàn)顯示中文,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01

