如何使用javascript确定发布请求输入

时间:2018-05-23 05:38:03

标签: javascript python

我正在尝试使用python登录网站,但没有取得多大成功。每当我发布我的凭据时,我得到200响应,但我被重定向到登录屏幕。我认为这是因为该网站的登录使用的是javascript,它不仅需要post命令中的用户名和密码,而且我还不确定如何解析它以修复我的登录代码。

这是我的python代码:

s = requests.session()
login_url = "example.com"
result = s.get(login_url)
payload = {
    "user_login": "xx", 
    "user_pass": "xx"
}
print(payload)
postresult = s.post(
    login_url, 
    data = payload,
    allow_redirects=True
)

这是输入表单的样子:

<div id="loginForm">
        <ul>
            <li>
                <label>Email:</label>
                <input class="txt" type="email" name="user_login" tabindex="1" value="">
            </li>
            <li>
                <label>Password:</label>
                <input class="txt" type="password" name="user_pass" tabindex="2">
            </li>
            <li class="submit">
                <a id="a-fgt" class="sub" href="#" tabindex="4">Forgot Password</a>
                <input type="submit" id="logSubmit" value="Login" tabindex="3" />
                <div id="rightBlock">
                    <span id="respMsg"></span>
                </div>
            </li>
        </ul>
    </div>

以下是javascript代码的执行部分:

function init_login(){
    var form = document.forms.loginForm;
        $submit(form,login_request);
        $listen($('a-fgt'),'click',function(){buildForgotPassword(false);},false);

    var lgn = getCookie('login');
        if(lgn){form.user_login.value = lgn;}
        form[wordCount(form.user_login.value)?'user_pass':'user_login'].focus();

        formVal = new FormValidator(form);
}


/*---\\\ LOGIN FUNCTIONS ///---*/
    function login_request(form){
        form = validateForm(form, 'user_pass');
        $post("/JSMX/admin_login.cfc?method=login",login_response,form);
    }

0 个答案:

没有答案