使用python请求登录到jsp登录页面

时间:2017-06-17 07:45:28

标签: javascript python jsp login

我有宽带连接,只要我想使用互联网,就要求我登录。

但由于某种原因,他们有一个错误,让我在没有任何警告的情况下随机登出,所以我想制作一个python脚本,每当我退出时我就会登录(我可以用脚本制作一个cronjob)

因为它是登录服务器,所以无法通过互联网访问

所以我提供了页面的登录表单,这对于发布帖子请求应该足够了吗?

如果没有让我知道我将提供源代码

这是我的宽带提供商的登录页面的形式

<form name="login" method="post" action="loginUI.do2" onsubmit="if (this.checker.checked) toMem(this)" id="login-form">






<div id="templatemo_wrapper">
    <div id="templatemo_menu">
<marquee scrollamount="3" behavior="slide" direction="left" height="20" width="100%" style="color:#00162b"><p>&nbsp; Your Default Password is <strong style="color:#FFFFFF">wnpl123</strong> for first time login only. Please change your password after first login.</p></marquee>
    </div> <!-- end of templatemo_menu -->

    <div id="templatemo_header_bar">

    <div id="headerrs">
       <img src="images/pay.png" width="650">  </div>

<div id="header"><!--<div class="right"></div>-->

                <h1><a href="#">
                    <img src="images/templatemo_logo.png" alt="Site Title" width="254">
                    <span>&nbsp;</span>
                </a></h1>
      </div>

            <div style=" font-size:22px; color:#000; margin-top:10px; float:right; font-family:Arial, Helvetica, sans-serif; left: 878px; top: 0px; width: 285px;"> Toll Free : 1800 419 4244</div>

    </div> <!-- end of templatemo_header_bar -->

    <div class="cleaner"></div>

    <div id="sidebar"><div class="sidebar_top"></div><div class="sidebar_bottom"></div>

        <div class="sidebar_section">

            <h2>Login Form</h2>
            <div style="color:#FFFF00; font-size:12px; margin-top:45px; margin-bottom:10px;"><b>

        </b></div>


                <label>Username</label>
                <input type="text" name="Username" size="20" class="input_field">
                <label>Password</label>
                <input type="password" value="" name="Password" class="input_field" title="password">
                <input type="hidden" name="LoginName">
                <input type="hidden" name="LoginPassword">
               <label for="checkbox"><br><input type="checkbox" name="checker" id="checker"> Remember Me</label>
            <br>


 <input type="submit" value="Login" id="submit_btn" onclick="return validateForm()">



        </div>

这是登录前的链接

http://192.168.183.201:9088/WISHN/Login.jsp

这是登录后的链接

http://192.168.183.201:9088/WISHN/Home.jsp

我尝试使用cookiejar无效

import requests
import cookielib


jar = cookielib.CookieJar()
login_url = 'http://192.168.183.201:9088/WISHN/Login.jsp'
acc_pwd = {'Username':'my username',
           'Password':'my password'
          }
r = requests.get(login_url, cookies=jar)
r = requests.post(login_url, cookies=jar, data=acc_pwd)


page = requests.get('http://192.168.183.201:9088/WISHN/loginUI.do2', cookies=jar)

print page.text

我只尝试过请求

import requests

url = 'http://192.168.183.201:9088/WISHN/loginUI.do2'
payload = {
    'Username': 'my username',
    'Password': 'my password',}

s = requests.Session()
response = s.post(url, data=payload)
print(response.text)

但正如预期的那样,这不起作用

正如您所见,该操作和方法已发布

<form name="login" method="post" action="loginUI.do2" onsubmit="if (this.checker.checked) toMem(this)" id="login-form">

我不想使用selenium webdriver我想制作这个轻量级的

编辑: 当我在发布帖子请求时使用firefox篡改数据插件时的屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试使用更新后的有效负载,使用&#34;篡改数据&#34; firefox中的附加组件,用于检查请求并相应地更新有效负载。

import requests

url = 'http://192.168.183.201:9088/WISHN/loginUI.do2'
payload = {
    "Username" : "Your Username"
    "Password" : "Your Password"
    "LoginName" : ""
    "LoginPassword" : ""
    "checker" : ""
    }
s = requests.Session()
response = s.post(url, data=payload)
print(response.text)