官术网_书友最值得收藏!

5.5 使用Cookies

Cookies主要用于獲取用戶登錄信息,比如,通過(guò)提交數(shù)據(jù)實(shí)現(xiàn)用戶登錄之后,會(huì)生成帶有登錄狀態(tài)的Cookies,這時(shí)可以將Cookies保存在本地文件中,下次程序運(yùn)行的時(shí)候,可以直接讀取Cookies文件來(lái)實(shí)現(xiàn)用戶登錄。特別對(duì)于一些復(fù)雜的登錄,如驗(yàn)證碼、手機(jī)短信驗(yàn)證登錄這類網(wǎng)站,使用Cookies能簡(jiǎn)單解決重復(fù)登錄的問(wèn)題。

Urllib提供HTTPCookieProcessor()對(duì)Cookies操作,但Cookies的讀寫(xiě)是由MozillaCookieJar()完成的。下面的例子實(shí)現(xiàn)Cookies寫(xiě)入文件,代碼如下:

代碼中的cookiejar是自動(dòng)處理HTTP Cookie的類,MozillaCookieJar()用于將Cookies內(nèi)容寫(xiě)入文件。程序運(yùn)行時(shí)先創(chuàng)建MozillaCookieJar()對(duì)象,然后將對(duì)象直接傳入函數(shù)HTTPCookieProcessor(),生成opener對(duì)象;最后使用opener對(duì)象訪問(wèn)URL,訪問(wèn)過(guò)程所生成的Cookies就直接寫(xiě)入已創(chuàng)建的文本文檔中。

接著再看如何讀取Cookies,代碼如下:

讀取和寫(xiě)入的方法很相似,主要區(qū)別在于:兩者對(duì)MozillaCookieJar()對(duì)象的操作不同,導(dǎo)致實(shí)現(xiàn)功能也不同。運(yùn)行結(jié)果如圖5-2所示。

圖5-2 驗(yàn)證Cookies

注意,為了方便測(cè)試,上述代碼中使用的cookie.save()和cookie.load(filename)將Cookies內(nèi)容顯示在文本文檔中。在實(shí)際開(kāi)發(fā)中,為了提高安全性,可以在保存和讀取Cookies時(shí)設(shè)置參數(shù),使Cookies信息隱藏在文件中。方法如下:

主站蜘蛛池模板: 曲沃县| 苗栗市| 拜城县| 汶上县| 湛江市| 兴文县| 温州市| 榆中县| 贵定县| 柘荣县| 凤台县| 廉江市| 余江县| 大方县| 蒲城县| 美姑县| 沅江市| 长垣县| 莆田市| 陵川县| 呼玛县| 郧西县| 沁阳市| 旅游| 龙州县| 龙口市| 申扎县| 永新县| 靖远县| 丹江口市| 兖州市| 清苑县| 五华县| 休宁县| 乐都县| 诏安县| 山丹县| 阳泉市| 莱芜市| 蕲春县| 文安县|