这是我的烧瓶dir.py
import requests
def dir(domain):
paths = ['/test','/html','/go','/.git']
for path in paths:
path = path.strip()
url = 'http://'+domain+path
result = requests.get(url)
if result.status_code == 200:
return url
dir("localhost")
这是run.py
@app.route('/brute', methods=["GET", "POST"])
def brute():
erroro = ""
if request.method == "POST":
domain = None
try:
if request.form["domain"] == "":
erroro += ("<p>{!r} Input Empty</p>").format(request.form["domain"])
else:
domain = request.form["domain"]
except:
erroro += ("<p>{!r} Input Empty</p>").format(request.form["domain"])
if domain is not None:
brute_res = brute_admin(domain)
return render_template("brute_result.html", brute_res = brute_res)
return render_template('brute.html').format(erroro=erroro)
现在的问题是我正在尝试在网页中打印网址列表,例如:
但是它只是打印带有路径的第一个url,我尝试了其他方法但没有运气。我现在能做什么。这个过程花了一些时间,结果直到完成后才显示,我可以在后台执行此操作,然后我可以下载URL列表,如果status_code == 200,则以我在dir.py
中编码的URL列表进行验证,然后返回url。如果有其他方法可以完成此过程,请帮助我。
谢谢
答案 0 :(得分:0)
第一次收到200条回复后,您将返回url
。
尝试这样的事情:
urls = []
for path in paths:
path = path.strip()
url = 'http://'+domain+path
result = requests.get(url)
if result.status_code == 200:
urls.append(url)
return urls
收集要返回的所有网址,并在for循环外返回列表