python實現(xiàn)的登陸Discuz!論壇通用代碼分享
更新時間:2014年07月11日 09:34:05 投稿:junjie
這篇文章主要介紹了python實現(xiàn)的登陸Discuz!論壇通用代碼分享,需要的朋友可以參考下
代碼如下:
#coding:gbk
import urllib2,urllib,cookielib,re
'''
通用的登陸DZ論壇
參數(shù)說明parms:
username:用戶名(必填),
password :密碼(必填),
domain:網(wǎng)站域名,注意格式必須是:http://www.xxx.xx/(必填),
answer:問題答案,
questionid:問題ID,
referer:跳轉(zhuǎn)地址
這里使用了可變關(guān)鍵字參數(shù)(相關(guān)信息可參考手冊)
'''
def login_dz(**parms):
#初始化
parms_key = ['domain','answer','password','questionid','referer','username']
arg = {}
for key in parms_key:
if key in parms:
arg[key] = parms[key]
else:
arg[key] = ''
#cookie設(shè)置
cookieFile = './kan_cookies.dat'
cookie = cookielib.LWPCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
#獲取formhash
pre_login = arg['domain']+'member.php?mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login'
c = opener.open(pre_login).read()
cookie.save(cookieFile)
patt = re.compile(r'.*?name="formhash".*?value="(.*?)".*?')
formhash = patt.search(c)
if not formhash:
raise Exception('GET formhash Fail!')
formhash = formhash.group(1)
#登陸
postdata = {
'answer':arg['answer'],
'formhash':formhash,
'password':arg['password'],
'questionid':0 if arg['questionid']=='' else arg['questionid'],
'referer':arg['domain'] if arg['referer']=='' else arg['referer'],
'username':arg['username'],
}
postdata = urllib.urlencode(postdata)
req = urllib2.Request(
url= arg['domain']+'member.php?mod=logging&action=login&loginsubmit=yes&handlekey=login&loginhash=LCaB3&inajax=1',
data=postdata
)
c = opener.open(req).read(300)
flag = '登陸失敗 %s'%arg['username']
if 'succeedhandle_login' in c:
flag = True
return flag
#使用例子:基本參數(shù)登陸
user='xxx'
pwd='xxx'
dom='http://www.discuz.net/' #另一個測試網(wǎng)站:http://bbs.jb51.net/
try:
flag = login_dz(username=user,password=pwd,domain=dom)
print(flag)
except Exception,e:
print('Error:',e)
您可能感興趣的文章:
- python模擬新浪微博登陸功能(新浪微博爬蟲)
- python使用paramiko模塊實現(xiàn)ssh遠程登陸上傳文件并執(zhí)行
- Python爬蟲利用cookie實現(xiàn)模擬登陸實例詳解
- python實現(xiàn)帶驗證碼網(wǎng)站的自動登陸實現(xiàn)代碼
- python實現(xiàn)多線程暴力破解登陸路由器功能代碼分享
- python3.3教程之模擬百度登陸代碼分享
- Python實現(xiàn)SSH遠程登陸,并執(zhí)行命令的方法(分享)
- 基于python的Tkinter編寫登陸注冊界面
- 利用selenium 3.7和python3添加cookie模擬登陸的實現(xiàn)
- python實現(xiàn)簡單登陸系統(tǒng)
相關(guān)文章
import?sklearn報錯正確安裝sklearn的解決方法
這篇文章主要介紹了import?sklearn報錯正確安裝sklearn的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
python3實現(xiàn)ftp服務(wù)功能(服務(wù)端 For Linux)
這篇文章主要介紹了python3實現(xiàn)ftp服務(wù)功能,服務(wù)端 For Linux,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
pytorch 運行一段時間后出現(xiàn)GPU OOM的問題
這篇文章主要介紹了pytorch 運行一段時間后出現(xiàn)GPU OOM的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06

