https://www.yuque.com/_heqin/kb/hdom0u#d17a0f0b
环境
优酷路由宝L1C
华硕老毛子固件
内置着micro-SD,但是拿不出来
ssh、ftp上去
脚本放在/media下的任意一个文件夹下,因为被优酷分了区的,网上也有合并的方法,这里先不管。
结果
#!/bin/sh
interval=11
uname=请填上你的学号
passwd=请填上你的密码
result=`ping -w $interval www.qq.com | grep '0 packets received'`
#echo "$result"
if [ "$result" != "" ]; then
curl -d "action=login&username=$uname&password=$passwd&ac_id=1&user_ip=&nas_ip=&user_mac=&ajax=1" 'http://192.168.111.2:801/srun_portal_pc.php?ac_id=1&url=www.qq.com' 2>/dev/null | grep error
fi
exit 0
核心部分
#!/bin/sh
curl -d 'action=login&username=学号&password=密码&ac_id=1&user_ip=&nas_ip=&user_mac=&ajax=1' 'http://192.168.111.2:801/srun_portal_pc.php?ac_id=1&url=www.qq.com'
填坑
- 出现类似下面的内容时,需要对.sh文件执行dos2unix的操作,最初试验时是用windows下的Xshell连接路由器操作,Mac放在一旁查资料的,所以可能会有不少用Windows的遇到这个问题。
: not foundine 5:
'ing: invalid number '10
syntax error: unexpected end of file (expecting "then")
- 使用grep正则匹配'0 packets receives',可起初interval正好取了10,忽略了'10 packets receives'的情况正好满足。所以将它取为11,万一丢了一个再登陆一遍也没事。
参考
SHELL脚本“SYNTAX ERROR:UNEXPECTED END OF FILE”解决方案
shell脚本-实现网站自动登录
grep命令
Shell 流程控制
赠上windows下的python2脚本
# -*-coding:UTF-8-*-
import os
import time
import urllib
import urllib2
# import threading
# import HTMLParser
# import urlparse
# import cookielib
# import string
# import re
tmp1 = os.system('color 17')
print ('cumt')
def func(x1):
# (x1 = 0)means login directly.
# (x1 = 1)means login after ping.
print ('*** Start Ping! ***')
exit_code = 1 # (=0)means OK!
if x1:
# exit_code1 = os.system('ping www.cumt.edu.cn')
exit_code1 = os.system('ping 114.114.114.114')
exit_code2 = os.system('ping www.jd.com')
exit_code3 = os.system('ping www.amazon.com')
exit_code = exit_code1 and exit_code2 and exit_code3
print 'Purpose: Auto Login Internet.'
if exit_code:
print '*** Error: Ping failed! ***'
print '*** Start Login! ***'
# //从数据包中分析出,处理post请求的url
posturl = 'http://192.168.111.2:801/srun_portal_pc.php?ac_id=1&url=pada.18183.com'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0',
'Referer': posturl}
# 构造Post数据,他也是从抓大的包里分析得出的。
postData = {'action': 'login',
'ac_id': '1',
'ajax': '1',
'username': 'TS', # //你的用户名
'password': '666666', # //你的密码,密码可能是明文传输也可能是密文,如果是密文需要调用相应的加密算法加密
'user_ip': '', # //特有数据,不同网站可能不同
'nas_ip': '', # //特有数据,不同网站可能不同
'user_mac': ''
}
# 需要给Post数据编码
postData = urllib.urlencode(postData)
# 通过urllib2提供的request方法来向指定Url发送我们构造的数据,并完成登录过程
request = urllib2.Request(posturl, postData, headers)
# print request
# 注意网页打开报错
flag1 = 0
try:
response = urllib2.urlopen(request, timeout=10)
# text = response.read().decode('GBK', 'ignore')
text = response.read().decode('UTF-8', 'ignore') # utf-8 -> unicode
text = text.encode('GBK', 'ignore') # unicode -> GBK
flag1 = 1
except:
text = '*** Error: Login failed! ***'
print text
exit_code1 = os.system('exit')
else:
print ('*** Ping OK! ***')
return exit_code
if __name__ == "__main__":
output = func(1)
🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍
登陆校园网shell脚本 矿大校园网登陆 路由器自动登录校园网 linux自动连接校园网 校园网账号开机自动登录 python脚本实现自动登陆校园网 windows开机登录校园网
🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍🔍