使用python请求使用脚本登录网站

时间:2017-04-03 20:46:54

标签: python html python-requests

我正在尝试使用python登录网站,似乎最好的方法是使用请求库。我的问题是解释我需要在有效载荷中发送到网站的内容。当我查看网站的HTML时,我看到了:

<script>
cdc = typeof cdc == "undefined" ? {} : cdc;
cdc.login = typeof cdc.login == "undefined" ? {} : cdc.login;
cdc.login.prefsObj = {
  login_showErrorMsg : false,
  login_show_smtryno : false,
  login_action       : "https://sso.cisco.com/autho/login/loginaction.html",
  login_user_name    : "userid",
  login_password_name: "password",
  login_domain       : "https://www.cisco.com",
  login_target       : "",
  login_smauthreason : "",
  login_smquerydata  : "",
  login_smagentname  : "",
  login_postpreservationdata :"",
  login_SMENC        : "",
  login_SMLOCALE     : ""
};
</script>

这是告诉我我应该使用dict条目'login_user_name'创建一个有效负载,还是告诉我应该使用'userid'作为dict条目的名称?

我是将此帖子发布到显示登录页面的网址,还是将其发布到显示为“login_action”网址的内容?

...谢谢

1 个答案:

答案 0 :(得分:0)

事实证明,您需要在“login_action”字段中发布到该网址。您还需要在有效负载中使用“userid”和“password”,而不是左侧的内容。最终的有效载荷需要如下所示:

payload = {
    'userid' : 'myusername',
    'password' : 'mypassword',
    'target' : '',
    'smauthreason' : '',
    'smquerydata' : '',
    'smagentname' : '',
    'postpreservationdata' : '',
    'SMENC' : '',
    'SMLOCALE' : ''
}

现在问题是我收到的数据说我无法重定向......