我正在使用python 3.7.4,这是我的代码,但是它不起作用。这是由python编写的ssrf扫描器,我刚刚开始学习'argparse',所以不知道代码中有什么问题:
import sys
import argparse
error = "Please enter a valid command. If you don't know how to use, enter '--help'"
parser = argparse.ArgumentParser(version='1.0')
parser.add_argument('-u', help='URL', dest='url')
parser.add_argument('--get', help='Method GET', dest='get')
parser.add_argument('--post', help='Method POST', dest='post')
parser.add_argument('-i', help='Ip', dest='ip')
parser.add_argument('-p', help='Port', dest='port')
parser.add_argument('-d', help='Post data', dest='param')
parser.add_argument('--encode', help='Encode payloads', dest='encode')
parser.add_argument('--proxy', help='Use proxy(y|ies)',
dest='proxy', action='store_true')
parser.add_argument('-f', help='Load payloads from a file', dest='file')
parser.add_argument('-h', help='Add headers',
dest='header', const=True)
parser.add_argument('--white', help='Whitelist', dest='wlist')
parser.add_argument('--black', help='Blacklist', dest='blist')
url = args.url
get = args.get
post = args.post
ip = args.ip
port = args.port
param = args.param
encode = args.encode
proxy = args.proxy
file = args.file
header = args.header
wlist = args.wlist
blist = args.blist
if not url:
print(error)
quit()
if not "http://" in url or "https://" in url:
print("Please enter full URL(Include 'https://' or 'http://)")
quit()
if not get and post:
print(error)
quit()
if post:
if not param:
print(error)
quit()
from mode import scan
from mode import test
即使我已经导入了'argparse',仍然出现错误:
Traceback (most recent call last):
File "E:\SSdom\ssrf.py", line 7, in <module>
parser = argparse.ArgumentParser(version='1.0')
NameError: name 'argparse' is not defined
有人可以帮我吗! (抱歉,这是一个愚蠢的问题)
我有一个类似的问题,它有助于直接使用from argparse import ArgumentParser
,然后将ArgumentParser()
用作导入函数。希望对您有用。