Python запрашивает логин - возвращается та же страница - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь выполнить очистку веб-страниц на своей университетской странице с помощью пакета запросов Python, но у меня проблемы с входом в систему. Вот код из формы входа:

<form id="loginform" class="form-horizontal" role="form" action="/Home/ValidaAcceso" method="post">
    <div class="form-group">
        <div class="col-md-12">
            <input id="login-username" type="text" class="form-control" name="username" value="" placeholder="Nombre de Usuario" title="Se necesita un nombre de Usuario" required
                   oninvalid="setCustomValidity('EL nombre de usuario es obligatorio')"
                   oninput="setCustomValidity('')" style="text-transform: lowercase;" />
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-12">
            <input id="login-password" type="password" class="form-control" name="password" placeholder="Password" required oninvalid="setCustomValidity('La contraseña es obligatorio')"
                   oninput="setCustomValidity('')" />
            <input type="hidden" id="navegador" name="navegador"  value="" />
         </div>
    </div>
    <div class="form-group">
        <div class="col-md-12">
            <button type="submit" value="Login" class="btn btn-info btn-login">Log In</button>
        </div>
        <div class="col-md-12">
            <a href="http://cuenta.fen.uchile.cl/olvido" target="_blank" class="btn btn-simple  center-block btn-login">Olvidaste tu contraseña?</a>

        </div>

        <hr>
        <div class="text-center">
            <p style="color:white; display: inline-block; padding-right:10px;">Acceso a: </p>
            <a  id="textButton" class="btn fen-btn-outline--white " href="http://pregrado.fen.uchile.cl/Pregrado/Login.aspx?Site=DocenciaWeb" target="_parent">Docenciaweb Antiguo</a>
            <p style="color:white; display: inline-block; padding-right:10px;">Disponible hasta el 15 de Julio 2018.</p>
        </div>

        <div class="login-footer2">
            <p>Cont&aacute;ctanos: <a style="color:white; display: inline-block; padding-right:10px;" class="  center-block"><strong>docenciaweb@fen.uchile.cl</strong></a></p>
            <p> © 2018 Docencia Web </p>
        </div>
    </div>
<input name="__RequestVerificationToken" type="hidden" value="CfDJ8CaYaKVR3I9EtAU8eK_rXx0FwjyHwMZF5z1LKRkLz2gzw1d6NGt7NMEKBBDF35xuNGwJlBtxs63_oBfRBn3OgfuiB6gyxybP4xiHPIIaZZgm8PXZLEeb9Q5LqNE-3Z3UctYWbEggO5BGnbtayZgLc4E" />
</form>

После проверки некоторых других ответов мой код на Python выглядит следующим образом:

import requests

payload = {
    'usermane': 'myUser',
    'password': 'myPassword',
    'navegador': 'Netscape 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36',
    '__RequestVerificationToken': 'CfDJ8CaYaKVR3I9EtAU8eK_rXx0FwjyHwMZF5z1LKRkLz2gzw1d6NGt7NMEKBBDF35xuNGwJlBtxs63_oBfRBn3OgfuiB6gyxybP4xiHPIIaZZgm8PXZLEeb9Q5LqNE-3Z3UctYWbEggO5BGnbtayZgLc4E'
}

with requests.Session() as s:
    p = s.post('https://docenciaweb.fen.uchile.cl/Home/ValidaAcceso', data=payload)
    page= s.get('https://docenciaweb.fen.uchile.cl/Home/MisCursos')

Когда я запускаю это, я всегда получаю в результате одну и ту же страницу, где я должен войти в систему. Есть идеи, как решить эту проблему?

...