[英]How can I solve method POST not allowed error in python Login script?
我寫了一個python腳本,使我能夠知道有多少新消息。
首先,我要登錄我的帳戶。
我執行了我的腳本。 但是我得到了以下消息:“不允許方法過帳”
站點URL是: http : //miyanali.com這是站點中“登錄”表單的HTML代碼:
<form id="loginform" action="loginstudent.php" method="post" style="height:50px" onsubmit="loginme(1053)">
<table style="width:170px;font-size:11px;text-align:right;padding-right:3px;padding-top:2px" cellspacing="0">
<tbody><tr>
<td style="width:90px;height:20px">
<input title="username" tabindex="1" style="font-family:tahoma;font-size:12px;width:94px;direction:ltr;background:url(username.png?ldd);border:none;padding:4px;padding-right:21px" name="username" value="" type="text">
</td>
<td rowspan="2"><input tabindex="4" style="font-size:11px;font-family:tahoma;height:44px;width:47px" value=" Login " type="submit"></td>
</tr>
<tr>
<td>
<input title="password" tabindex="2" style="font-family:tahoma;font-size:12px;width:94px;direction:ltr;background:url(password.png?ldd);border:none;padding:4px;padding-right:21px" name="password" id="pass1053" onkeypress="javascript:document.getElementById("signup").style.visibility="hidden";" type="password">
</td>
</tr>
<tr>
<td colspan="3">
<div style=";text-align:left">
<a href="/forgetpass.php" style="font-size:11px;">Forgot password?</a>
<button onclick="document.getElementById("loginform").action="/signup.php";window.location="/signup.php"" id="signup" style="font-size:11px;font-family:tahoma;width:47px">Sign Up</button>
<input style="font-size:11px;font-family:tahoma" name="passssl" id="passssl1053" value="" type="hidden">
</div>
</td>
</tr>
</tbody></table>
</form>
這是我的Python代碼:
import cookielib
import urllib
import urllib2
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
# headers
opener.addheaders = [('User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7')]
urllib2.install_opener(opener)
authentication_url = 'http://www.miyanali.com/loginstudent.php'
# parametersd
payload = {
'username': 'myusername',
'password': 'password',
'passssl': ''
}
data = urllib.urlencode(payload)
req = urllib2.Request(authentication_url, data)
resp = urllib2.urlopen(req)
contents = resp.read()
print contents
如何解決此錯誤? 感謝大家!
好的,這是登錄頁面JavaScript:
function loginme(rand1){
ssid=get_cookie ( "PHPSESSID" );
pass=document.getElementById("pass"+rand1).value;
document.getElementById("pass"+rand1).value="";
x1=string2Bin(pass);
x2=string2Bin(ssid.substr(0,5));
//alert(x1);
o=xorthis(x1,x2);
//alert(o);
document.getElementById("passssl"+rand1).value=o;
document.getElementById("passssl"+rand1).value=pass;
}
function string2Bin(s) {
var b = "";
var last = s.length;
for (var i = 0; i < last; i++) {
var d = s.charCodeAt(i);
if (d < 128)
b+= dec2Bin(d);
else {
upperd=Math.floor(d/256)+210;
lowerd=d%256+128;
//alert(upperd+"+"+lowerd);
//document.write(upperd+"<br>");
//document.write(lowerd+"<br>");
//document.write(d+"<br>");
//b+= dec2Bin(upperd)+dec2Bin(lowerd);
//var c = s.charAt(i);
//alert(c + ' is NOT an ASCII character');
//b[i] = -1;
b+=s.substr(i,1);
}
}
return b;
}
function get_cookie ( cookie_name )
{
var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
if ( results )
return ( unescape ( results[2] ) );
else
return null;
}
我應該在我的Python代碼中做什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.