BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #171同步于 2014/5/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

发个贴支持Python版~~(网关登陆脚本)

lpy0
2014/5/20镜像同步34 回复
前两天在其他版块看到有人提到python版,马上过来看了看,非常高兴以后能有专门的python版块来讨论学习了,先把自己以前写的网关登陆脚本发上来吧,写的很渣。。。轻拍。。。 刚发现不能带附件。。。直接贴代码可以吧? 网关登陆脚本: #!/usr/local/env python # -*- coding: utf-8 -*- import urllib import urllib2 import hashlib import re, sys def login(usr, pwd, url = "http://gw.bupt.edu.cn"): # 初始化表单 data = {} data["DDDDD"] = usr data["upass"] = calpwd(pwd) data["R1"] = "0" data["R2"] = "1" data["para"] = "00" data["0MKKey"] = "123456" data = urllib.urlencode(data) req=urllib2.Request(url, data) response = urllib2.urlopen(req, data) rsp = response.read() temp = re.findall(r"You have successfully logged into our system.", rsp) if not temp: ip = re.findall(r"xsele=0;xip='(\d+\.\d+\.\d+\.\d+)\s*';", rsp) ans = raw_input("该账号正在IP为:%s 的机器上使用,是否断开它的连接并重新输入用户名和密码登陆本机。(Y / N)\n" % ip[0]) if ans=='Y' or ans=='y': data = {} data["DDDDD"] = usr data["upass"] = pwd data["passplace"] = "" data["AMKKey"] = "" data = urllib.urlencode(data) req=urllib2.Request(url+"/all.htm", data) response = urllib2.urlopen(req, data) rsp = response.read() print "登陆成功" else: print "终止登陆,登录失败" else: print "登陆成功" def calpwd(init_pwd): pid = '1' calg='12345678' tmp = pid + init_pwd + calg pwd = hashlib.md5(tmp).hexdigest() + calg + pid return pwd if __name__=='__main__': if len(sys.argv)==3: usrname = sys.argv[1] passwd = sys.argv[2] else: usrname = '' passwd = '' login(usrname, passwd) 网关注销脚本: #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib2, re def logout(url="http://gw.bupt.edu.cn/F.html"): response = urllib2.urlopen(url) rsp = response.read() temp = re.findall(r"Msg=(\d+)", rsp)[0] if temp=='14': print "注销成功" elif temp=='01': print "尚未登录" else: print "注销失败" if __name__=='__main__': logout() 最后求问,作为一个学了python的基本语法,会写几个爬虫,看了一点点web.py框架的python新人,感觉现在不知道该看点什么了。。。求教大家的建议~~
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
wangxiaobupt机器人#1 · 2014/5/20
赞 【 在 lpy0 (蓝々咖啡) 的大作中提到: 】 : 前两天在其他版块看到有人提到python版,马上过来看了看,非常高兴以后能有专门的python版块来讨论学习了,先把自己以前写的网关登陆脚本发上来吧,写的很渣。。。轻拍。。。 : 刚发现不能带附件。。。直接贴代码可以吧? : 网关登陆脚本: : ...................
qq521机器人#2 · 2014/5/26
你好,请问下表单提交的密码的生成方式是如何得到的?
lpy0机器人#3 · 2014/5/26
用chrome的开发者工具查js找出来的 【 在 qq521 的大作中提到: 】 : 你好,请问下表单提交的密码的生成方式是如何得到的? 来自「北邮人论坛手机版」
lpy0机器人#4 · 2014/5/26
放上来就是分享的嘛 加了新功能记得也分享给大家哈 【 在 awsxsa 的大作中提到: 】 : 正在做这个,请问可以搬用你的代码吗? 来自「北邮人论坛手机版」
qq521机器人#5 · 2014/5/27
【 在 lpy0 的大作中提到: 】 : 用chrome的开发者工具查js找出来的 : 来自「北邮人论坛手机版」 哦。十分感谢。
hansnow机器人#6 · 2014/5/27
很赞强制登陆的功能很赞。但是发现一个小问题哈,强制登陆的页面是a11.htm吧?看lz代码里写的好像是all.htm?不知道是不是手机上字体的问题 通过『我邮2.0』发布
lpy0机器人#7 · 2014/5/27
我看了下我本地正在使用中的程序,发现写的却是是all(l是字母),而且可以正常使用强制登录功能,但是我又在chrome上用开发者工具查了下,发现登录的时候确实又都是a11(1是数字),我也忘了当时为什么写成all了,好奇怪。。。。貌似是两个都可以用。。。 【 在 hansnow 的大作中提到: 】 : 很赞强制登陆的功能很赞。但是发现一个小问题哈,强制登陆的页面是a11.htm吧?看lz代码里写的好像是all.htm?不知道是不是手机上字体的问题 : 通过『我邮2.0』发布
hansnow机器人#8 · 2014/5/27
【 在 lpy0 的大作中提到: 】 : 我看了下我本地正在使用中的程序,发现写的却是是all(l是字母),而且可以正常使用强制登录功能,但是我又在chrome上用开发者工具查了下,发现登录的时候确实又都是a11(1是数字),我也忘了当时为什么写成all了,好奇怪。。。。貌似是两个都可以用。。。 哈哈,原来是这样啊~
lpy0机器人#9 · 2014/5/28
不错不错 赞一个哈 【 在 awsxsa 的大作中提到: 】 : ok,gui制作完成 : [code=py] : #coding=utf-8 : ...................