2017-04-03 154 views
0

我试图登录到一个网站使用python,它似乎是做到这一点的最好方法是与请求库。我的问题是解释我需要发送到网站的有效载荷。当我看HTML的网站,我看到:用脚本使用python请求登录到网站

<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> 

难道这告诉我,我应该创建一个有效载荷与字典条目“login_user_name”还是它告诉我,我应该使用“用户ID”为字典条目的名称?

我把这张贴到显示登录页面的网址,还是我发布到它显示为'login_action'网址的内容?

谢谢...

+0

您需要发布** **那个页面,并且您需要在'login_user_name'字段中提供您的登录用户名。 “userid”这个词只是一个占位符,告诉你你应该在这些字段中输入你的用户名/密码。 –

+0

这就是我的想法,但是当我发送帖子时,我收到HTML,表示用户名或密码不正确,但我知道用户名和密码是好的.... – mikey

回答

0

事实证明,您需要发布到'login_action'字段中的网址。您还需要在有效负载中使用“userid”和“password”,而不是左侧的东西。最终的有效载荷需要看起来像:

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

现在的问题是,我回来说,我无法重定向数据...