Python 机械化。浏览器无法提交?

Python 机械化。浏览器无法提交?,python,login,mechanize,Python,Login,Mechanize,我正在使用mechanize以以下形式登录网站 <form id="loginForm"> <div class="signinTitle" > <span class="regTips" id="logTips"></span> </div> <ul class="inputBox"> <li class="l

我正在使用mechanize以以下形式登录网站

<form id="loginForm">
         <div class="signinTitle" >
            <span class="regTips" id="logTips"></span>
        </div>
         <ul class="inputBox">
                <li class="loginname">
                    <label>username/email</label>
                    <input id="nameInput" type="text" name="loginname" maxlength="30" value="">
                </li>
                <li class="password">
                    <label>password</label>
                    <input id="pwdInput" type="password" name="password" maxlength="16" value="">

                </li>
                <li id="chechbox">
                    <p class="tip">
                        <input name="remember" type="checkbox" checked="checked"/>
                        <span>remember </span>
                        <span class="forgetPwd"><a href="http://passport.infzm.com/passport/resetPassWord" >forget password</a></span>
                    </p>
                </li>
                <li class="submit clearfix">
                    <input type="submit" id="submitbutton" title="submit" value="login"></input>
                </li>
            </ul>
    </form>

但是read()返回与登录页面相同的html。这里有什么问题。

images.infzm.com/js/com/infzm/passport/passport.js上的javascript?v=4显示表单是通过发送到
/passport/login
提交的。你需要对mechanize进行一些技巧才能让它工作。基本上,你要么想办法改变表单的动作和方法(我不记得这是可能的),要么自己在不使用表单的情况下发布(也更容易)。然后,直接浏览到,因为当登录成功时javascript会重定向到

images.infzm.com/js/com/infzm/passport/passport.js上的javascript?v=4显示表单是通过POST提交到
/passport/login
。你需要对mechanize进行一些技巧才能让它工作。基本上,你要么想办法改变表单的动作和方法(我不记得这是可能的),要么自己在不使用表单的情况下发布(也更容易)。然后,直接浏览到,因为当登录成功时javascript会重定向到

它使用javascript通过一个POST通过ajax提交到另一个端点。查看并搜索
login=function(form)
以查看它在做什么。它使用javascript通过一个POST通过ajax提交到另一个端点。查看并搜索
login=function(form)
,看看它在做什么。谢谢你的回答,在这种情况下,
urllib2
会做这项工作吗?我必须再次感谢你,你真的帮了我很多,节省了我很多时间。我通过使用
请求
使其工作。很高兴听到。享受:)和请求真的是一个很棒的库。谢谢你的回答,在这种情况下,
urllib2
会做这项工作吗?我必须再次感谢你,你真的帮了我很多,节省了我很多时间。我通过使用
请求
使其工作。很高兴听到。享受:)和请求真的是一个伟大的图书馆。
browser = mechanize.Browser()
browser.open(url)
browser.select_form(nr=1)
browser['loginname']=username
browser['password']=password
browser.submit()
browser.read()