4楼:好好学习啊 发表于 2013-12-26 15:21
表单是不对
#!/usr/local/bin/python
#-*- coding: UTF-8 -*-
#requests 模拟提交表单登陆DZ BBS 为啥登陆不成功呢 请指教 QQ29295842
################################################
import re
import requests as rq
#全局变量
s = rq.session()
if __name__=='__main__':
lgurl='http://bbs.sandaha.com/member.php?mod=logging&action=login&loginsubmit=yes&handlekey=login&loginhash=LvEpL&inajax=1'
get_formhash_url='http://bbs.sandaha.com/forum.php?action=login'
login_page = s.get(get_formhash_url).content
#
p = re.compile( r'')
sarr = p.findall(login_page)
print sarr[0] #获取当前formhash
#表单数据
postData = {
'formhash':sarr[0],
'referer':'http://bbs.sandaha.com/forum.php?action=login',
'loginfield':'username',
'username':'2602159946',
'password':'2602159946',
'questionid':0,
'answer':None }
#Content-Length: 81
#fastloginfield=username&username=123&password=12312&quickforward=yes&handlekey=ls
hds = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36'}
r = s.post(url =lgurl,data =postData, headers = hds)
r2 = s.get(url =get_formhash_url)
fp=open('dz.html','a+')
fp.write(r2.text.encode('utf8').decode('ascii','ignore'))
fp.close()
# html = r.text.encode(r.encoding).decode('gbk')
# #print html