请求/发布用户名/登录无效

时间:2017-11-01 21:46:09

标签: python python-3.x post login request

我正在尝试使用此代码登录:

with requests.Session() as c:
    url = 'https://ww2.eagle.org/en.html'
    c.get(url)
    login_data = {
        'username': 'username',
        'password': 'pw',
    }
    c.post(url,data=login_data,headers={"Referer":"https://ww2.eagle.org/en.html"})

在包含以下代码的网站中:

<div id="signinFormId" class="section-label">
    <form name="signinForm" method="post" action="https://www.eagle.org/security/GatewayLogin" target="_blank" class="signin-form">
        <span id="close-login" class="close-login">×</span>
        <div class="title-login-window">Login</div>
        <fieldset>
          <input type="text" name="username" id="username-login" required="" class="input-login">
          <label class="input-lbl-login user" for="username-login">Username</label>
        </fieldset>
        <fieldset>
          <input type="password" name="password" id="password-login" required="" class="input-login">
          <label class="input-lbl-login pass" for="password-login">Password</label>
        </fieldset>
        <div class="links-container">
            <input type="submit" class="btn-login" value="Login">
            <span class="links-login-wrapper">
                <a href="/en/abs-eagle-technical-support.html" class="link-login">Help</a>
                <a href="/en/my-eagle-user-id-request.html" class="link-login">Register</a>
            </span>
        </div>
        <div id="loginMsg">
            <p class="error-msg-login">Login failed. Please enter a valid username and password.</p>
        </div>
    </form>
</div>

我没有收到任何错误,但是登录没有通过。 我使用类似的代码到其他页面,它以前工作。 我想也许这与需要按下按钮以显示登录页面有关,但我不确定...... 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您必须将数据提交到action attr of formref中指定的网址:

c.post('https://www.eagle.org/security/GatewayLogin', ...

ps:你真的不应该发布你的用户名和密码。