• 热门专题

Python模拟登陆:模拟登陆电子科大信息门户测试

作者:  发布日期:2015-01-10 22:51:35
Tag标签:电子  门户  信息  
  • 最近在学习Python的网络操作,网上有很多模拟登陆方法。这里做个笔记。 没有验证码的还是比较容易的。

    #coding:utf-8
    import re
    import urllib
    import urllib2
    import cookielib
    import os
    import json
    import sys
    import time
    from urllib import quote,unquote
    from urllib2 import HTTPError
    from urllib2 import URLError
    
    #登陆模块
    def Login():
        try :
            cj = cookielib.CookieJar();
            opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj));
            urllib2.install_opener(opener); 
            
            #打开获得 cookie
            info_URL = "http://portal.uestc.edu.cn/index.portal"
            info_Login_URL = "https://uis.uestc.edu.cn/amserver/UI/Login";     
            infoOPEN = urllib2.urlopen(info_URL)
            print 1
            #生成要发送的数据
            LoginData = {
                'IDToken0':'',
                'IDToken1':'20142106XXXX',
                'IDToken2':'xxxxxx',
                'IDButton':'Submit',
                'goto':'aHR0cDovL3BvcnRhbC51ZXN0Yy5lZHUuY24vbG9naW4ucG9ydGFs',
                'encoded':'true',
                'gx_charset':'UTF-8',
                }; 
            
            print 2
                
            #把发送数据转换格式
            LoginData = urllib.urlencode(LoginData);    
            
            #生成请求数据
            info_Login_Request = urllib2.Request(info_Login_URL, LoginData);
            
            #添加数据头部
            info_Login_Request.add_header('Content-Type', "application/x-www-form-urlencoded");
            info_Login_Request.add_header('User-Agent', "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36");
            print 3
            #发送请求,尝试登陆
            info_Login_Open = urllib2.urlopen(info_Login_Request);
            print 4
            #验证登陆是否成功
            tt = urllib2.urlopen(info_URL).read()
            fout=open("tt.html","w")
            fout.write(tt)
            print 'success!'
        except :
            print "登陆出错啦!"
    
    if __name__ == "__main__" :
        Login()
    

    经过测试成功

    IDtoken1和IDtoken2填用户名和密码。其他不用变

    linux下面 直接python spider.py 即可运行

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规