Мой друг и я создаем программу для использования в базе данных оценок нашей школы. Это не дает правильные средние проценты и буквенные оценки, потому что это первый год, когда мы его используем. Это называется Power School. После того, как мы войдем в систему, у нас не будет проблем с уборкой данных с веб-сайта для каждого класса и вычислением наших точных оценок. Проблема во входе. Да, мы могли бы использовать Selenium, и я сделал для этого рабочий скрипт, но мы хотим использовать запросы. Power School подсчитывает свои пароли перед входом в систему, и мы не можем понять, как они получают токен, используют его для создания соли, а затем ее хешируют.
import requests
url = 'https://powerschool.hempfieldsd.org/public/home.html'
data = {'pstoken':'13559518530NaxZAad4h5zthVZUxWpbomIL7i0Ei2E',
'contextData':'39EA652806E20E8E5ED45BB0655128BD34A00529682635BA13C921E310294719',
'dbpw':'86a0339c9d51ce4d91bc9c0d23ee4701',
'serviceName':'PS Parent Portal',
'pcasServerUrl':'/',
'credentialType':'User Id and Password Credential',
'ldappassword':'*****', #Would be changed to my actual password
'account':'******', #Would be changed to my actual username
'pw': '5bde00dd64b70e984d434749b3173940'
}
#contextData, dbpw, pw, and pstoken change
r = requests.post(url, data = data)
print(r.text)
Что мы ожидаем увидеть при печатитекст является следующей веб-страницей, но мы все еще видим страницу входа. Как мы можем создать наш собственный pw, который будет передаваться на серверы?