2010-04-06 14 views
0

很久以前,我寫了一個小小的python腳本來自動登錄我的辦公室的無線網絡。我的python自動登錄腳本壞了

下面是代碼:

#!/opt/local/bin/python 
from urllib2 import urlopen 
from ClientForm import ParseResponse 

try: 
if "Logged on as" in urlopen("https://MYWIRELESS.com/logon").read(): 
    print "Already logged on." 
else: 
    forms = ParseResponse(urlopen("https://MYWIRELESS.com/logon"), backwards_compat=False) 
    form = forms[0] 
    form["username"], form["password"] = "ME", "MYPASSWD" 
    urlopen(form.click()) 
    print "Logged on. (probably :-)"; 
except IOError, e: print "Couldn't connect to wireless login page:\n", e 

我最近改變了電腦,它停止工作。現在,我得到的錯誤:

File "login.txt", line 4, in <module> 
    from ClientForm import ParseResponse 
ImportError: No module named ClientForm 

這使得它看起來像我別有一番包(ClientForm)安裝,所以我安裝了它(sudo的港口安裝PY-clientform),但我仍然得到同樣的錯誤。有誰知道我做錯了什麼?

+0

它是在'site-packages '文件夾(id est,做喲你安裝雞蛋?) – 2010-04-06 21:19:10

回答

1

也檢查你安裝的包是在python路徑:

>>> import sys 
>>> sys.path 
0

這個工作對類似的東西:

(能得到現場使用Wireshark來發送數據也是「用戶」可能。如「用戶名」與「密碼」一樣。再次wireshark會幫助這個。也可以看看登錄頁面的來源。祝你好運!!!)

from urllib import urlencode 
from urllib2 import Request, urlopen 

req = Request('www.site.com',urlencode({'user':'userhere', 'password':'passwordhere'})) 
open = urlopen(req)