Python cookie的保存與讀取、SSL講解
一、cookie的保存與讀取
1.cookie的保存-FileCookie.Jar
from urllib import request,parse from http import cookiejar #創(chuàng)建cookiejar實例 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(): """ 負責初次登錄 需要輸入用戶名密碼 :return: """ url = "http://www.renren.com/PLogin.do" data = { "email":"1215217867@qq.com", "password":"481648541615485" } #把數(shù)據(jù)進行編碼 data = parse.urlencode(data) #創(chuàng)建一個請求對象 req = request.Request(url,data=data.encode()) #使用opener發(fā)起請求 rep = opener.open(req) #保存cookie到文件 #ignore_discard表示及時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)包含相應的cookie值 rsp = opener.open(url) html = rsp.read().decode() with open("rsp.html","w") as f: f.write(html) if __name__ == "__main__": """ 執(zhí)行完login之后,會得到授權之后的cookie 我們嘗試把cookie打印出來 """ login() getHomePage()
2.cookie的讀取
from urllib import request,parse from http import cookiejar #創(chuàng)建cookiejar實例 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(): """ 負責初次登錄 需要輸入用戶名密碼 :return: """ url = "http://www.renren.com/PLogin.do" data = { "email":"1215217867@qq.com", "password":"481648541615485" } #把數(shù)據(jù)進行編碼 data = parse.urlencode(data) #創(chuàng)建一個請求對象 req = request.Request(url,data=data.encode()) #使用opener發(fā)起請求 rep = opener.open(req) #保存cookie到文件 #ignore_discard表示及時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)包含相應的cookie值 rsp = opener.open(url) html = rsp.read().decode() with open("rsp.html","w") as f: f.write(html) if __name__ == "__main__": """ 執(zhí)行完login之后,會得到授權之后的cookie 我們嘗試把cookie打印出來 """ # login() getHomePage()
改代碼讀取了保存的cookie文件,并且訪問網(wǎng)頁成功。
二、SSL
1.什么是SSL
(1)SSL證書就是指遵守SSL安全套階層協(xié)議的服務器數(shù)字證書(SercureSocketLayer)
(2)該證書是由美國網(wǎng)景公司開發(fā)
(3)CA(CertifacateAuthority)是數(shù)字證書認證中心,是發(fā)放、管理、廢除數(shù)字證書的收信人的第三方機構(gòu)。
(4)遇到不信任的SSL證書,可以用代碼進行忽略掉
from urllib import request #導入python ssl處理模塊 import ssl #利用非認證上下文環(huá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)
三、源碼
以上就是本次介紹的全部相關知識點,感謝大家的學習和對腳本之家的支持。
相關文章
教你怎么用Python實現(xiàn)GIF動圖的提取及合成
今天教大家一個Python有趣好玩的小功能:將多張圖片轉(zhuǎn)為GIF,同時也可以將一個GIF動圖提取出里面的圖片,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下2021-06-06Python Selenium實現(xiàn)無可視化界面過程解析
這篇文章主要介紹了Python Selenium實現(xiàn)無可視化界面過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08