使用请求登录复杂网站

时间:2017-10-25 18:07:01

标签: javascript python login python-requests

我正在尝试使用请求模块登录到某个站点,并且无法弄清楚该站点的登录页面实际上是如何工作的。以下是相关表格:

<form class="ui-corner-all" method="POST" id="login" target="_top">
    <div id="lift__noticesContainer__"></div>
    <label for="username">Username</label><br>
    <input value="" id="username" type="text" name="F783713994214KVBZZQ">
    <label for="password">Password</label><br>
    <input value="" id="password" type="password" name="F7837139942151QISNM">
    <p><a data-at="e45a1d" href="/forgot_pwd">Forgot password?</a></p><br>
    <button class="btn btn-primary" type="submit" name="F783714094216F0PPFD" value="_">LOGIN</button>
</form>

我认为这些字段的名称都是随机生成的(F783713994214KVBZZQ和F7837139942151QISNM),所以我解析了这些,但我不知道如何处理这些信息。没有指定我可以看到的登录页面网址。我已经尝试构建上述字符串的有效负载并更正登录信息并将其发布,但没有结果。

当我在chrome的检查器中观察网络活动时,在我点击登录按钮后,我可以看到该网站的帖子,但是没有查询字符串参数(我希望看到用户名和密码)。

是否有人知道我应该查看的其他内容,以确定用户名和密码的去向以及如何通过请求访问该内容?

完整登录页面html:https://pastebin.com/vP1s9esZ

我的代码:https://pastebin.com/4jG13WfW

该页面在标题中包含login.js,但仅限于此:

$(document).ready(function() {

$("#username").focus();

// Centers the div
$("#login").position({
    of: window,
    at: "center center"    
});

});

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果您想自动登录流程,那么您正在寻找Selenium。但是,如果您想向网站发出请求,请从网络监视器开始。单击登录并获取进入该站点的请求。他们要么将其作为表格或有效载荷发送。

What's the difference between "Request Payload" vs "Form Data" as seen in Chrome dev tools Network tab

了解更多内容