67 lines
1.7 KiB
Python
67 lines
1.7 KiB
Python
import requests
|
||
|
||
token = ''
|
||
url_x_csrftoken = 'http://127.0.0.1:8000/api/get_xcsrf/'
|
||
|
||
response = requests.get(url_x_csrftoken)
|
||
x_csrftoken = response.json().get('X-CSRFToken')
|
||
|
||
cookies = response.cookies
|
||
cookies_dict = cookies.get_dict()
|
||
csrftoken = cookies_dict.get('csrftoken')
|
||
|
||
url = 'http://127.0.0.1:8000/api/auth/'
|
||
headers = {
|
||
'Authorization': f'Bearer {token}',
|
||
'X-CSRFToken': x_csrftoken,
|
||
'Cookie': f'csrftoken={csrftoken}'
|
||
}
|
||
|
||
data = {
|
||
}
|
||
|
||
response = requests.post(url, headers=headers, data=data)
|
||
|
||
print('Сценарий 1. Не указаны никакие данные:')
|
||
print(f'Код ответа: {response.status_code}')
|
||
# print(response.content)
|
||
print(f'Данные: {response.json()}')
|
||
|
||
data = {
|
||
"login": "123",
|
||
"password": "123"
|
||
}
|
||
|
||
response = requests.post(url, headers=headers, data=data)
|
||
|
||
print('Сценарий 2. Ошибка длины данных:')
|
||
print(f'Код ответа: {response.status_code}')
|
||
# print(response.content)
|
||
print(f'Данные: {response.json()}')
|
||
|
||
data = {
|
||
"login": "123123",
|
||
"password": "123123123"
|
||
}
|
||
|
||
response = requests.post(url, headers=headers, data=data)
|
||
|
||
print('Сценарий 3. Неверные данные:')
|
||
print(f'Код ответа: {response.status_code}')
|
||
# print(response.content)
|
||
print(f'Данные: {response.json()}')
|
||
|
||
|
||
data = {
|
||
"login": "qweqweqwe",
|
||
"password": "qweqweqwe"
|
||
}
|
||
|
||
response = requests.post(url, headers=headers, data=data)
|
||
token = response.json().get('token')
|
||
|
||
print('Сценарий 4. Успешный вход:')
|
||
print(f'Код ответа: {response.status_code}')
|
||
# print(response.content)
|
||
print(f'Данные: {response.json()}')
|
||
print(f'Токен: {response.json().get('token')}') |