Класс Request
Класс Request инкапсулирует все данные входящего HTTP-запроса.
Экземпляр этого класса доступен в функциях-обработчиках через
глобальную переменную request или через аргумент функции.
Объект запроса содержит методы и атрибуты для получения параметров
URL, GET и POST данных, заголовков, cookies, тела запроса и другой
информации о клиентском запросе.
Синтаксис
from bottle import request
request.method
request.path
request.query
request.forms
request.headers
request.cookies
Пример
Давайте получим метод запроса и путь из объекта request:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
method = request.method
path = request.path
return f"Method: {method}, Path: {path}"
Результат выполнения кода для GET-запроса к адресу /:
"Method: GET, Path: /"
Пример
Давайте получим GET-параметры из строки запроса:
from bottle import Bottle, request
app = Bottle()
@app.route('/search')
def search():
query = request.query.get('q', '')
return f"Search query: {query}"
Результат выполнения кода для адреса /search?q=hello:
"Search query: hello"
Пример
Давайте получим данные формы из POST-запроса:
from bottle import Bottle, request
app = Bottle()
@app.route('/login', method='POST')
def login():
username = request.forms.get('username', '')
return f"Hello, {username}"
Результат выполнения кода при отправке формы с полем username=abcde:
"Hello, abcde"
Пример
Давайте получим значение заголовка User-Agent:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
user_agent = request.get_header('User-Agent', 'unknown')
return f"User-Agent: {user_agent}"
Результат выполнения кода:
"User-Agent: Mozilla/5.0"
Смотрите также
-
метод
get_header,
который возвращает значение заголовка запроса -
метод
get_cookie,
который возвращает значение cookie -
атрибут
query,
который содержит GET-параметры запроса -
атрибут
forms,
который содержит данные POST-формы