Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15315370
  • 博文数量: 112
  • 博客积分: 11195
  • 博客等级: 上将
  • 技术积分: 1989
  • 用 户 组: 普通用户
  • 注册时间: 2005-06-20 11:04
文章分类

全部博文(112)

文章存档

2013年(2)

2012年(27)

2011年(6)

2010年(11)

2009年(6)

2007年(7)

2006年(23)

2005年(30)

分类: Python/Ruby

2010-08-13 19:25:29

#encoding=gbk

import sys
import re
import cookielib
import urllib2
import urllib
import md5

 

class Discuz(object):

    def __init__(self):
        self.name=self.pwd=self.operate=""
        self.cj=cookielib.CookieJar()
        self.opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))
        urllib2.install_opener(self.opener)
        self.opener.addheaders = [('User-agent', 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)')]

    def add_user_info(self,username,pwd):
        self.name=username
        self.pwd=pwd

    def login(self):
        m = md5.new()
        m.update(self.pwd)
        self.pwd=m.hexdigest()
        
        loginpage = self.opener.open('').read()
        loginpage = self.opener.open('').read()
        formhash = re.findall('', loginpage.decode("gbk"), re.DOTALL)

        params = { 'formhash':formhash[0],
                    'username':self.name,
                    'password':self.pwd,
                    'loginsubmit':'true'
                     }
        print 'login......'
        self.request=urllib2.Request('&loginsubmit=yes&inajax=1',urllib.urlencode(params))

        try:
            req = self.opener.open(self.request)
            page = req.read()
            if page.find("欢迎"):
                print "login sucess!"
        except Exception,e:
            print e
            print urllib2.HTTPError
        
    def open(self,url):
        try:
            page = urllib2.urlopen(url).read()
            print page
        except Exception,e:
            print e
            
if __name__=='__main__':
            ren=Discuz()
            ren.add_user_info("your username",'your password')
            ren.login()
            ren.open()

 

折腾了一下午终于能登录了,各种低级错误。

本python程序适用于自动登录discuz7.2版本的bbs论坛

阅读(5791) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~