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請求管理器
http_handler = request.HTTPHandler()
#生成https管理器
https_handler = request.HTTPHandler()
#創(chuà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è)請求對象
req = request.Request(url,data=data.encode())
#使用opener發(fā)起請求
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自動已經(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之后,會得到授權(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請求管理器
http_handler = request.HTTPHandler()
#生成https管理器
https_handler = request.HTTPHandler()
#創(chuà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è)請求對象
req = request.Request(url,data=data.encode())
#使用opener發(fā)起請求
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自動已經(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之后,會得到授權(quán)之后的cookie
我們嘗試把cookie打印出來
"""
# login()
getHomePage()
改代碼讀取了保存的cookie文件,并且訪問網(wǎng)頁成功。
二、SSL
1.什么是SSL
(1)SSL證書就是指遵守SSL安全套階層協(xié)議的服務(wù)器數(shù)字證書(SercureSocketLayer)
(2)該證書是由美國網(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)知識點(diǎn),感謝大家的學(xué)習(xí)和對腳本之家的支持。
相關(guān)文章
10個(gè)使用Python必須知道的內(nèi)置函數(shù)
這篇文章小編主要向大家介紹的是10個(gè)使用Python必須知道的內(nèi)置函數(shù)reduce()、split()、map()等,更多后置函數(shù)請看下文2021-09-09
TensorFlow神經(jīng)網(wǎng)絡(luò)創(chuàng)建多層感知機(jī)MNIST數(shù)據(jù)集
這篇文章主要為大家介紹了TensorFlow神經(jīng)網(wǎng)絡(luò)如何創(chuàng)建多層感知機(jī)MNIST數(shù)據(jù)集的實(shí)現(xiàn)過程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11
python windows services demo分享
本文介紹了如何使用Python的pywin32庫在Windows操作系統(tǒng)中創(chuàng)建和管理服務(wù),通過一個(gè)簡單的示例代碼,展示了如何創(chuàng)建一個(gè)每隔10秒打印一條消息到日志文件的Windows服務(wù),文章還提供了安裝、啟動、停止和卸載服務(wù)的命令,并附有注意事項(xiàng)2025-02-02
Python實(shí)現(xiàn)對大量表格文件數(shù)據(jù)處理的方法詳解
這篇文章主要為大家介紹了如何基于Python語言實(shí)現(xiàn)對大量表格文件加以數(shù)據(jù)截取、逐行求差、跨文件合并等處理,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05

