Python模拟登录(带验证码)

本文提供了一个使用Python登录特定教务系统的示例代码,通过urllib2和cookielib模块实现请求发送与Cookie管理。该教程展示了如何获取验证码图片、输入验证码并完成登录过程。
import urllib
import urllib2
import cookielib
    
def getImg(picurl):
    '''
    request for random_code picture and cookie 
    '''
    pic = opener.open(picurl).read()
    with open('./verifyImg.jpg','wb') as emptyPic:
        emptyPic.write(pic)

def verifyImg(picpath):
    '''
    TODO
    '''
    pass

def login(coo):
    loginUrl = 'http://jwxt.wust.edu.cn/whkjdx/Logon.do?method=logon'
   
    data = {'USERNAME':'*****', 'PASSWORD':'*****', 'RANDOMCODE':coo}
    #encode the postData
    postData = urllib.urlencode(data)
    
    user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
    header = {'User-Agent':user_agent,'Referer':'http://jwxt.wust.edu.cn/whkjdx/framework/main.jsp'}
    #generate a Request with url,postData headers and cookie
    request = urllib2.Request(loginUrl, postData, headers = header)
    #post data
    content = opener.open(request)
    #get html file
    mainUrl = 'http://jwxt.wust.edu.cn/whkjdx/framework/main.jsp'
    mainContent = opener.open(mainUrl).read()
    print mainContent 

if __name__ == '__main__':
    
    cookie = cookielib.CookieJar()
    handler = urllib2.HTTPCookieProcessor(cookie)
    opener = urllib2.build_opener(handler)

    picurl = 'http://jwxt.wust.edu.cn/whkjdx/verifycode.servlet'
    getImg(picurl)
    #verifyImg(picpath)
    
    randomCode = raw_input('Plz input teh randomcode:')
    
    login(randomCode)


转载于:https://my.oschina.net/v5871314/blog/614009

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值