0
我正在嘗試使用Cookie實現一個基本的Python登錄腳本。我在這裏和其他地方看過很多例子,我無法越過這個「urllib2.HTTPError:HTTP錯誤405:方法不允許」的錯誤。Python Web登錄腳本不能正常工作
該腳本已被複制並與其他十幾個人交叉檢查,我認爲這是有道理的 - 所以也許問題出在HTML或Web服務器上?如果錯誤令人尷尬地顯而易見,那麼JavaScript是我的網頁腳本的程度,所以請提前致歉。
HTML(的index.html):
<form id="loginForm" action="login.py" method="post">
<div class="loginDiv">
<div class="inputDiv">
<label for="user" id="user-label">User:</label>
<input id="username" type="text" name="handle" value=""
autocomplete="off" class="roundedInputs" style="color:White;width:160px;" />
</div>
<div class="inputDiv">
<label for="pass" id="pass-label">Pass:</label>
<input id="password" type=password name="password" value=""
autocomplete="off" class="roundedInputs"
style="color:White;width:160px;" />
</div>
</div>
<div class="submitDiv">
<input id="sumbitLogin" class="sumbitStyle" type="submit" value="» ENTER «" />
</div>
</form>
和Python(login.py)
import cookielib
import urllib
import urllib2
username = 'myuser'
password = 'mypassword'
values = {'username' : username,
'password' : password }
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode(values)
opener.open('http://<address>:8080/index.html', login_data)
resp = opener.open('http://<address>:8080/FTP/')
http_headers = response.info()
print resp.read()
我就完全放棄,並在東西寫它瀕臨別人,所以任何幫助將非常感激。
我想我仍然必須將提供的憑證存儲在cookie中?然後在每個需要的頁面上使用HTTPBasicAuth? – Sufo
查詢請求庫的文檔。您可以使用憑據分配會話,然後在會話中進行操作。 – James