python3.2 自动登录网站

有个朋友在国企,要求所有员工每天必须登录10几个网站,一次不登录扣20块钱。

让我帮写个小程序,查了查资料,用python写了一个,以前没用过,都是现查的资料,比较粗糙,放到这里留作备用。

 1  import  urllib.parse
 2  import  urllib.request
 3 
 4  # ------------------------------需要修改1 begin---------------------------------
 5  # 需要根据HttpFox插件修改 loginUrl,params.
 6  loginUrl  =   ' http://localhost:4019/Login.aspx '
 7  # "登录成功"/"登录失败" 应修改为手动操作web登录成功/失败时的提示信息
 8  successMsg  =   ' 登录成功 '
 9  failureMsg  =   ' 登录失败 '
10  # 把所有需要自动登录的用户和密码写到这个数组中
11  accounts = { ' 王大亮 ' : ' 1 ' , ' a1 ' : 123 , ' 二亮 ' : ' bbb ' }
12  # ------------------------------需要修改1 start---------------------------------
13 
14  # ##定义一个自动登录函数
15  def  AutoLogin(user,password):
16       try :
17          req = urllib.request.Request(loginUrl)
18           # ------------------------------需要修改2 begin-----------------------------------
19          req.add_header( ' Referer ' ' http://localhost:4019/Login.aspx ' )
20          req.add_header( ' User-agent ' ' Mozilla/5.0 ' )
21          req.add_header( ' Content-Type ' ' application/x-www-form-urlencoded ' )
22          req.add_header( ' Accept-Charset ' ' ISO-8859-1,utf-8;q=0.7,*;q=0.7 ' )
23          params  =  urllib.parse.urlencode({ ' txtUser ' : user,
24                                            ' txtPassword ' : password,
25                                            ' btnLogin ' ' Button ' ,
26                                            ' __VIEWSTATE ' : ' /wEPDwULLTEwNjExNzk5MjgPZBYCAgMPZBYCAgEPDxYCHgRUZXh0BQznmbvlvZXlpLHotKVkZGR4O/u+ERWQGLzmZs3fMbjkx/qv6Q== ' ,
27                                            ' __EVENTVALIDATION ' : ' /wEWBALu+KqtCwLB2tiHDgK1qbSRCwKC3IeGDHKaazBbWjuZXNCLn8AMRkGzG+6O ' })    
28          params  =  params.encode( ' ISO-8859-1 ' )
29          res  =  urllib.request.urlopen(req, params)
30          html = res.read().decode( ' utf-8 ' )
31           # 调试开关 可以查看登录成功后html页面中的关键字
32           # print(html)
33           # ------------------------------需要修改2 end-------------------------------------
34          
35           if  html.find(failureMsg)  !=   - 1 :
36               return   ' false '
37           elif  html.find(successMsg)  !=   - 1 :
38               return   ' true '
39       except  EnvironmentError as err:
40           return   ' false '
41       return   ' false '
42 
43  print ( ' 程序正在执行,如果一直没有响应请强制关闭...... ' )
44  print ()
45  # ## 遍历所有用户密码,调用自动登录函数
46  for  obj  in  accounts:
47       if  (AutoLogin(obj,accounts[obj])  ==   ' false ' ):
48           print  ( ' %s: 登录-->失败. '   %  obj)
49       else :
50           print  ( ' %s: 登录-->成功. '   %  obj)
51  print ()
52  q = input( " 执行完毕,输入任意字符并按回车键退出程序: " )

 

转载于:https://www.cnblogs.com/gaotianle/archive/2011/03/31/gao.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值