Колба для выпуска петли - PullRequest
0 голосов
/ 19 июня 2019

Это мой 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 на веб-странице, например:

http://localhost/test

http://localhost/html

но это просто печать первого URL с путем, я пробовал другой путь, но не повезло. Что я могу сделать сейчас. Такжеэтот процесс занимает немного времени, и результат не отображается, пока он не завершит процесс, есть ли что-нибудь, что я могу сделать в фоновом режиме, и позже я могу загрузить список URL, который проверяется, как я кодировал в dir.py, если status_code == 200, затем вернутьurl. Если есть какой-нибудь альтернативный способ сделать этот процесс, пожалуйста, помогите мне.

Спасибо,

1 Ответ

0 голосов
/ 19 июня 2019

Вы возвращаете url после того, как в первый раз получите ответ 200.

Попробуйте что-то вроде этого:

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

Соберите все URL, которые вы хотите вернуть и вернутьсписок вне цикла for

...