Метод open класса FlaskClient
Метод open применяется к тестовому клиенту
FlaskClient, который создаётся методом test_client.
Метод отправляет запрос к приложению и возвращает
объект TestResponse с результатом. Первым
параметром передаётся путь URL, вторым - метод
запроса (по умолчанию 'GET'), а также
дополнительные параметры: данные формы, заголовки,
query-параметры и другие.
Синтаксис
client.open(path, [method], [data], [headers], [query_string], [json])
Пример
Давайте отправим GET-запрос к корневому адресу приложения и получим текст ответа:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
client = app.test_client()
res = client.open('/')
print(res.text)
Результат выполнения кода:
"hello"
Пример
Давайте отправим POST-запрос с данными формы и вернём их обратно:
from flask import Flask, request
app = Flask(__name__)
@app.route('/user', methods=['POST'])
def user():
return request.form['name']
client = app.test_client()
res = client.open('/user', method='POST', data={'name': 'abcde'})
print(res.text)
Результат выполнения кода:
"abcde"
Пример
Давайте отправим GET-запрос с query-параметрами и заголовками:
from flask import Flask, request
app = Flask(__name__)
@app.route('/article')
def article():
return request.args['id'] + ' ' + request.headers['X-Test']
client = app.test_client()
res = client.open(
'/article',
query_string={'id': 'abcde'},
headers={'X-Test': 'hello'}
)
print(res.text)
Результат выполнения кода:
"abcde hello"
Смотрите также
-
класс
FlaskClient,
который представляет тестовый клиент приложения -
метод
get,
который отправляет GET-запрос -
метод
post,
который отправляет POST-запрос -
класс
TestResponse,
который представляет ответ тестового запроса