Что значит netloc? - PullRequest
       30

Что значит netloc?

0 голосов
/ 01 января 2019

Я учусь делать функцию входа в систему с помощью Flask-login , и я сталкиваюсь с этим кодом в моем уроке, которому я следую:

@app.route('/login', methods = ['GET', 'POST'])
def login():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('login'))
        login_user(user, remember=form.remember_me.data)
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '': # what is it means in this line..?
            next_page = url_for('index')
        return redirect(next_page)
    return render_template('login.html', title='Sign In', form=form)

Но яя не уверен, что код выше, что я прокомментировал, означает ..?, особенно в netloc word, что это такое??, я знаю, что означает сетевая локальность , нокакова цель на этой линии ..?

1 Ответ

0 голосов
/ 01 января 2019

Начиная с RFC 1808, Section 2.1 каждый URL-адрес должен иметь определенный формат:

<scheme>://<netloc>/<path>;<params>?<query>#<fragment>

Netloc - это то, что домен первого уровня (FLD) представляет ,который идет до пути, и после схемы.Например, у вас есть следующий URL:

http://www.example.com/index?search=src

Здесь www.example.com - это netloc , а index - это путь, search - это параметр запроса, а src - это значение, передаваемое по параметру search.

Теперь, переходя к вашему коду, оператор if проверяет, существует ли next_page и есть ли у next_page netloc, такчто пользователь может быть перенаправлен на index (по умолчанию) страницу вашего сайта.

...