最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用Selenium和cookie繞過(guò)驗(yàn)證碼實(shí)現(xiàn)登錄示例代碼

 更新時(shí)間:2025年01月25日 10:41:28   作者:anxiaolili  
文章介紹了如何使用Selenium獲取登錄過(guò)程中的cookie信息,并通過(guò)抓包工具獲取cookie,通過(guò)示例展示了如何在Dsmall和CRM系統(tǒng)中實(shí)現(xiàn)免登陸操作,總結(jié)了兩種方法:一種是在獲取到cookie后直接添加到當(dāng)前會(huì)話中,另一種是將cookie存儲(chǔ)到本地文件并在后續(xù)請(qǐng)求中使用

利用selenium中獲取登陸過(guò)程所涉及的cookie信息:

方法

難易程度

通過(guò)抓包工具分析出cookie來(lái),然后將cookie添加到對(duì)應(yīng)的頁(yè)面中去

有技術(shù)要求,簡(jiǎn)單

先運(yùn)行一次通過(guò)驅(qū)動(dòng)器對(duì)象中的get_cookies方法獲取當(dāng)前項(xiàng)目的所有cookie

麻,準(zhǔn)確性高

下面的實(shí)例主要以dsmall和crm系統(tǒng)為例。

第一種方式

http://192.168.141.100/index.php/home/login/login.html

首先抓取dsmall登陸的相關(guān)數(shù)據(jù)信息進(jìn)行分析,下面是dsmall的首頁(yè)需要輸入驗(yàn)證碼才能夠登陸成功

python接口測(cè)試:1.5 使用cookie完成驗(yàn)證碼跳過(guò)登陸操作_php

使用fiddler進(jìn)行抓取dsmall的登陸請(qǐng)求響應(yīng)數(shù)據(jù),具體分析得到下面結(jié)果:

python接口測(cè)試:1.5 使用cookie完成驗(yàn)證碼跳過(guò)登陸操作_php_02

并且具體還可以得知該cookie是基于session的狀態(tài)上存在的,也就是只要建立好會(huì)話,后期實(shí)際只要把cookie信息添加進(jìn)入,即可獲取到會(huì)話狀態(tài)了,所以具體實(shí)現(xiàn)代碼如下:

# cookieTest.py
# 使用cookie完成免登陸的操作

from selenium import webdriver


class DsmallCookie(object):
    def __init__(self):
        self.driver = webdriver.Chrome()

        #與服務(wù)器建立連接
        self.driver.get("http://192.168.141.100/index.php/home/member/index.html")

        # 將cookie所對(duì)應(yīng)的值通過(guò)add_cookie()進(jìn)行添加
        self.driver.add_cookie({"name": "PHPSESSID", "value": "ejgbevl453upavmjd42nr8bq9v"})

        # 刷新頁(yè)面或重新發(fā)送一次請(qǐng)求都可以完成登陸操作
        # 刷新頁(yè)面
        self.driver.refresh()

        # 重新發(fā)送一次請(qǐng)求
        self.driver.get("http://192.168.141.100/index.php/home/member/index.html")


if __name__ == '__main__':
    dsmall = DsmallCookie()

注意:add_cookie中傳入的參數(shù)必須是字典對(duì)象,可以通過(guò)分析源代碼得知具體傳入的類型。

第二種方式

 可以先使用selenium完成一次登陸操作,然后通過(guò)驅(qū)動(dòng)器調(diào)用get_cookies方法將獲取的cookie信息存儲(chǔ)到對(duì)應(yīng)的本地文件中,最后后續(xù)調(diào)用cookie信息即可。以CRM項(xiàng)目為實(shí)例。

# Get_Cookie.py

from selenium import webdriver
import json
class GetCookie(object):
    def __init__(self):
        self.driver=webdriver.Chrome()
        self.driver.get("http://192.168.141.100/index.php/login")


    def login(self):
        self.driver.find_element_by_name("username").send_keys("admin")
        self.driver.find_element_by_name("userpwd").send_keys("admin888")
        self.driver.find_element_by_class_name("logindo").click()

    def get_cookie(self):
        with open("cookie.json",mode="w") as fp:
            for value in self.driver.get_cookies():
                json.dump(value,fp)

if __name__ == '__main__':
    get=GetCookie()
    #get.login()
    #get.get_cookie()

將登陸獲取到的cookie信息存儲(chǔ)到j(luò)son格式文件中。

然后不用輸入用戶名、密碼即可獲取登錄態(tài),

# Crm_NoLogin.py

#通過(guò)cookie完成登陸操作,直接調(diào)用已經(jīng)保存好的cookie文件中的cookie內(nèi)容
from selenium import webdriver
import json
class CrmNoLogin(object):
    def __init__(self):
        self.driver=webdriver.Chrome()
        self.driver.get("http://123.57.71.195:7878/")
        #將之前保存的cookie進(jìn)行添加到當(dāng)前的會(huì)話中
        self.driver.add_cookie(self.read_cookie())
        #添加完后,則再次訪問(wèn)獲取此url地址的話則可以直接處于登陸狀態(tài),此處注意,訪問(wèn)的url必須是登陸成功后的url地址
        self.driver.get("http://123.57.71.195:7878/")
    
    #聲明讀cookie的方法
    def  read_cookie(self):
        with open("cookie.json") as fp:
            return json.load(fp)


if __name__ == '__main__':
    crm=CrmNoLogin()

注意:此處的crm項(xiàng)目并不是基于session會(huì)話鏈接的,所以第二次發(fā)送請(qǐng)求時(shí)不能夠刷新操作,否則無(wú)法處于登陸態(tài),必須重新發(fā)送一次登陸成功后的請(qǐng)求才能夠處于登陸狀態(tài)。這里就需要大家注意:刷新和重新發(fā)送請(qǐng)求的區(qū)別了。

總結(jié)

實(shí)踐:大家可以通過(guò)以上方法完成OA項(xiàng)目的免登陸操作哦,OA項(xiàng)目的訪問(wèn)地址:http://123.57.71.195:9999/login.html,這是我給大家部署在阿里云上的項(xiàng)目,可以練習(xí)練習(xí)下哦~~

說(shuō)明:

1.如果第一次訪問(wèn)獲取的cookie存在多個(gè)字典的形式的話,則每個(gè)字典都需要保存到cookie文件中,然后進(jìn)行讀取的時(shí)候需要遍歷每個(gè)字典,并使用add_cookie將每個(gè)字典進(jìn)行添加對(duì)應(yīng)的cookie信息   

2.refresh和重新發(fā)送請(qǐng)求的區(qū)別:刷新就是基于現(xiàn)有的頁(yè)面基礎(chǔ)上進(jìn)行檢查當(dāng)前頁(yè)面是否存更新的內(nèi)容;地址欄中的回車又分兩種情況:一種就是請(qǐng)求的url在瀏覽器中的緩存未過(guò)期;另一種就是已過(guò)期;建議后期如果是使用cookie完成免登陸狀態(tài)的話,大家如果不懂什么時(shí)候使用refresh的話,則全部實(shí)用重新發(fā)送請(qǐng)求;

到此這篇關(guān)于python使用cookie繞過(guò)驗(yàn)證碼實(shí)現(xiàn)登錄示例代碼的文章就介紹到這了,更多相關(guān)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 異步之生成器示例詳解

    Python 異步之生成器示例詳解

    這篇文章主要為大家介紹了Python 異步之生成器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • python包實(shí)現(xiàn)?retrying?重復(fù)回調(diào)操作

    python包實(shí)現(xiàn)?retrying?重復(fù)回調(diào)操作

    這篇文章主要介紹了python包實(shí)現(xiàn)?retrying?重復(fù)回調(diào)操作,文章python的相關(guān)資料展開(kāi)對(duì)retrying?重復(fù)回調(diào)的詳細(xì)介紹,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-04-04
  • 詳解利用Python制作中文漢字雨效果

    詳解利用Python制作中文漢字雨效果

    這篇文章主要介紹了如何利用Python中的Pygame模塊實(shí)現(xiàn)中文漢字雨效果,文中通過(guò)示例代碼介紹的非常詳細(xì),感興趣的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • python的自變量選擇(所有子集回歸,后退法,逐步回歸)

    python的自變量選擇(所有子集回歸,后退法,逐步回歸)

    這篇文章主要介紹了python的自變量選擇(所有子集回歸,后退法,逐步回歸),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • python中dropna()函數(shù)的作用舉例說(shuō)明

    python中dropna()函數(shù)的作用舉例說(shuō)明

    這篇文章主要給大家介紹了關(guān)于python中dropna()函數(shù)的相關(guān)資料,dropna()是pandas庫(kù)中的一個(gè)函數(shù),用于刪除DataFrame中的缺失值,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 詳解Python3.6安裝psutil模塊和功能簡(jiǎn)介

    詳解Python3.6安裝psutil模塊和功能簡(jiǎn)介

    這篇文章主要介紹了詳解Python3.6安裝psutil模塊和功能簡(jiǎn)介,詳細(xì)的介紹了安裝psutil模塊和該模塊的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • python sklearn包——混淆矩陣、分類報(bào)告等自動(dòng)生成方式

    python sklearn包——混淆矩陣、分類報(bào)告等自動(dòng)生成方式

    今天小編就為大家分享一篇python sklearn包——混淆矩陣、分類報(bào)告等自動(dòng)生成方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python json 模塊核心用法之字典 / 列表與 JSON 字符串互轉(zhuǎn)的操作

    Python json 模塊核心用法之字典 / 列表與 JSON&nb

    在Python開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到Python內(nèi)置數(shù)據(jù)類型(字典、列表)和JSON字符串的相互轉(zhuǎn)換需求,本文會(huì)通過(guò)實(shí)際代碼案例,詳細(xì)講解json模塊的兩個(gè)核心方法,感興趣的朋友跟隨小編一起看看吧
    2026-02-02
  • 詳解python 發(fā)送郵件實(shí)例代碼

    詳解python 發(fā)送郵件實(shí)例代碼

    本篇文章主要介紹了python 發(fā)送郵件實(shí)例代碼,詳細(xì)的介紹了各種方式發(fā)送郵件,包括文件形式的郵件、HTML形式的郵件、帶圖片的HTML郵件等,有興趣的可以了解一下。
    2016-12-12
  • Python實(shí)現(xiàn)PDF轉(zhuǎn)Word的方法詳解

    Python實(shí)現(xiàn)PDF轉(zhuǎn)Word的方法詳解

    由于PDF的文件大多都是只讀文件,有時(shí)候?yàn)榱藵M足可以編輯的需要通??梢詫DF文件直接轉(zhuǎn)換成Word文件進(jìn)行操作。本文為大家整理了一些實(shí)現(xiàn)方法,希望對(duì)大家有所幫助
    2023-02-02

最新評(píng)論

确山县| 赞皇县| 阿克苏市| 东兴市| 洮南市| 沅江市| 于都县| 扎囊县| 定州市| 嘉兴市| 象州县| 东乡族自治县| 新民市| 长寿区| 金阳县| 黄石市| 隆安县| 盐山县| 洪江市| 翁源县| 阜阳市| 黑山县| 灵璧县| 高碑店市| 华容县| 嘉义市| 和龙市| 潢川县| 连城县| 莒南县| 上饶市| 嵊泗县| 韶山市| 新宾| 女性| 铁岭市| 和田县| 兴隆县| 汕尾市| 双江| 吉首市|