我有宽带连接,只要我想使用互联网,就要求我登录。
但由于某种原因,他们有一个错误,让我在没有任何警告的情况下随机登出,所以我想制作一个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> 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> </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篡改数据插件时的屏幕截图
答案 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)