Чтобы ответить на ваш вопрос «Как войти в Python», я предполагаю, что вы хотите выполнить некоторую операцию веб-очистки на страницах, которые защищены аутентификацией Azure AD.
В этом сценарии вы имеетечтобы сделать следующие шаги:
1) Для этого скрипта нам нужно будет только импортировать следующее:
import requests
from lxml import html
Сначала мы бы хотели создать наш объект сеанса.Этот объект позволит нам сохранить сеанс входа в систему для всех наших запросов.
session_requests = requests.session()
Во-вторых, мы хотели бы извлечь токен csrf с веб-страницы, этот токен используется во время входа в систему.Для этого примера мы используем lxml и xpath, мы могли бы использовать регулярное выражение или любой другой метод, который будет извлекать эти данные.
login_url = "https://bitbucket.org/account/signin/?next=/"
result = session_requests.get(login_url)
tree = html.fromstring(result.text)
authenticity_token = list(set(tree.xpath("//input[@name='csrfmiddlewaretoken']/@value")))[0]
Далее мы хотели бы выполнить фазу входа в систему.На этом этапе мы отправляем запрос POST на URL входа.В качестве данных мы используем полезную нагрузку, созданную на предыдущем шаге.Мы также используем заголовок для запроса и добавляем к нему ключ реферера для того же URL.
result = session_requests.post(
login_url,
data = payload,
headers = dict(referer=login_url)
)
Полезная нагрузка будет объектом словаря имени пользователя и пароля и т. Д.
payload = {
"username": "<USER NAME>",
"password": "<PASSWORD>",
"csrfmiddlewaretoken": "<CSRF_TOKEN>"
}
Примечание: - Это всего лишь пример.
Шаг 2:
Очистить содержимое
Теперь, когда мы смогли успешно войти, мыбудет выполнять фактическую очистку
url = 'https://bitbucket.org/dashboard/overview'
result = session_requests.get(
url,
headers = dict(referer = url)
)
Другими словами, вам нужно получить полезную информацию о запросе из Azure AD, а затем создать объект сеанса, используя зарегистрированный метод, и, наконец, выполнить проверку.
Вот очень хороший пример веб-проверки защищенного веб-сайта.
Надеюсь, это поможет.