В настоящее время я использую библиотеку запросов для Python 3.7, чтобы попытаться войти на следующую страницу , следуя инструкциям, предоставленным Джулианом здесь .
Здесь это то, что я делаю:
loginSession = requests.Session()
url = 'https://portal.projectworx.net/STS/Home/GetTenant'
payload = {'UserName': login, 'Password': password}
user_agent = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'}
login_request = loginSession.post(url, payload, headers=user_agent)
if(login_request.status_code == 200):
print ("Successful log-in !")
file = open("login_response.html", "w")
file.write(login_request.text)
file.close()
# Connect to dashboard
url = 'https://portal.projectworx.net/ProjectWorx/Dashboard/Home'
dashboard_request = loginSession.get(url)
file = open("dashboard_request.html", "w")
file.write(dashboard_request.text)
file.close()
Хотя я теоретически добился установления соединения (код возврата 200), оба конца - «login_request. html» и «dashboard_request. html», содержащие начальные страница входа.
Примечание: Отличие, которое я обнаружил между примером Джулиана и моим, заключается в том, что я не могу найти входные имена для "user" и "password" при проверке страницы входа HTML код. Вместо этого я обнаружил следующее:
<input id="TenantId" name="TenantId" type="hidden" value="">
Не уверен, как передать правильные входные параметры в «Post» с помощью этого типа формы.
Редактировать 1:
После использования метода Пита для отслеживания запросов на вкладке Сеть и использования правильных входных данных (имя пользователя и пароль) я получил следующее содержимое в login_response. html (созданное из "login_request". text ")
![Screenshot of login_request.html](https://i.stack.imgur.com/lD9Au.png)
Что выглядит намного лучше, чем раньше, учитывая, что оно отражает то, что получает браузер. Но попытка войти в Dashboard все равно возвращает страницу входа. «LoginSession.cookies» остается пустым после запроса на вход в систему, не уверен, насколько это нормально.
Редактировать 2:
На стороне браузера, глядя на traffi c после входа в систему на вкладке Network я наблюдаю следующее:
![Network traffic](https://i.stack.imgur.com/Qyo46.png)
Первая пара строк, связанных с входом, содержит следующее cook ie в заголовке запроса:
_ga=****; _gac_****
А затем (например, для выделенной строки) встраивается следующий cook ie: FedAuth = ******; _ga = ****; га c****; .ASPXAUTH = ********
Но из-за того, что я не могу поймать куки, я не знаю, что делать с этой информацией ..
Дальнейшая помощь был бы очень признателен! Заранее спасибо. :)