返回信息流前两天在其他版块看到有人提到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新人,感觉现在不知道该看点什么了。。。求教大家的建议~~
这是一条镜像帖。来源:北邮人论坛 / python / #171同步于 2014/5/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
发个贴支持Python版~~(网关登陆脚本)
lpy0
2014/5/20镜像同步34 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
赞
【 在 lpy0 (蓝々咖啡) 的大作中提到: 】
: 前两天在其他版块看到有人提到python版,马上过来看了看,非常高兴以后能有专门的python版块来讨论学习了,先把自己以前写的网关登陆脚本发上来吧,写的很渣。。。轻拍。。。
: 刚发现不能带附件。。。直接贴代码可以吧?
: 网关登陆脚本:
: ...................
用chrome的开发者工具查js找出来的
【 在 qq521 的大作中提到: 】
: 你好,请问下表单提交的密码的生成方式是如何得到的?
来自「北邮人论坛手机版」
放上来就是分享的嘛 加了新功能记得也分享给大家哈
【 在 awsxsa 的大作中提到: 】
: 正在做这个,请问可以搬用你的代码吗?
来自「北邮人论坛手机版」
很赞强制登陆的功能很赞。但是发现一个小问题哈,强制登陆的页面是a11.htm吧?看lz代码里写的好像是all.htm?不知道是不是手机上字体的问题
通过『我邮2.0』发布
我看了下我本地正在使用中的程序,发现写的却是是all(l是字母),而且可以正常使用强制登录功能,但是我又在chrome上用开发者工具查了下,发现登录的时候确实又都是a11(1是数字),我也忘了当时为什么写成all了,好奇怪。。。。貌似是两个都可以用。。。
【 在 hansnow 的大作中提到: 】
: 很赞强制登陆的功能很赞。但是发现一个小问题哈,强制登陆的页面是a11.htm吧?看lz代码里写的好像是all.htm?不知道是不是手机上字体的问题
: 通过『我邮2.0』发布
【 在 lpy0 的大作中提到: 】
: 我看了下我本地正在使用中的程序,发现写的却是是all(l是字母),而且可以正常使用强制登录功能,但是我又在chrome上用开发者工具查了下,发现登录的时候确实又都是a11(1是数字),我也忘了当时为什么写成all了,好奇怪。。。。貌似是两个都可以用。。。
哈哈,原来是这样啊~
不错不错 赞一个哈
【 在 awsxsa 的大作中提到: 】
: ok,gui制作完成
: [code=py]
: #coding=utf-8
: ...................