学校的校园网每次重开电脑时都要重新打开浏览器进行网页登录,繁琐的操作比较麻烦,于是便写了个python的脚本进行自动登录,下面说下具体的操作过程:

1. 方法说明

  博主采用的python的 requests库,发送post请求给登录网页,主要包括请求头和登录数据,由于校园网设计的比较简单,没有验证码什么的,操作起来就比较简单。我来详细的说下怎么来获得登录的请求头和登录数据。首先贴一下学校的校园网登录界面:

浏览器采用的是firefox,右键查看元素,查看网络,然后手动登录一次会看到相应的登录过程如下:

这里会看到我登录过程给网页发送的post请求,然后查看相应的请求头(不是响应头)和登录参数:

有了这两个部分,下面就可以写程序来登陆啦,具体的代码如下:

 '''
南京大学校园网自动登录脚本
@author: zutterhao
@parameter: post_addr: 南大校园网登陆地址
post_header:浏览器登陆校园网的post请求
post_data: 登陆的用户名和密码
@date:2018年5月8日
''' import requests
#登陆地址
post_addr = "http://p.nju.edu.cn/portal_io/login"
#构造头部信息
post_header = {
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Encoding':'gzip, deflate',
'Accept-Language':'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
'Connection':'keep-alive',
'Content-Length':'',
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'Host':'p.nju.edu.cn',
'Referer':'http://p.nju.edu.cn/portal/index.html?v=201606170633',
'User-Agent':'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0',
'X-Requested-With':'XMLHttpRequest'
}
#构造登录数据
post_data = {
'password': '********',
'username': '********'
}
#发送post请求登录网页
z = requests.post(post_addr,data=post_data,headers = post_header)
print("登录完成!")

本来准备将py文件转换为exe文件,但是觉得用.bat批处理更加方便,在py文件目录下建立一个.bat文件:

 cd .\autologin\
python .\login.py

然后将.bat文件创建一个桌面快捷方式,改一下图标就可以啦:

这样,以后只要双击就可以进行自动登录了:)

不过本方法还是有很多不足之处:第一只能支持本电脑的指定浏览器,如果换了一个电脑和浏览器就不能工作;另一个就是没有异常处理,不能返回登录失败的情况下的信息,后续改进的版本会优化下这些问题,目前使用来看还挺不错哈哈。

python 脚本自动登陆校园网的更多相关文章

  1. 如何手动写一个Python脚本自动爬取Bilibili小视频

    如何手动写一个Python脚本自动爬取Bilibili小视频 国庆结束之余,某个不务正业的码农不好好干活,在B站瞎逛着,毕竟国庆嘛,还让不让人休息了诶-- 我身边的很多小伙伴们在朋友圈里面晒着出去游玩 ...

  2. 普通用户在命令终端使用Python脚本连入校园网

    普通用户在命令终端使用Python脚本连入校园网 想要连入校园网的步骤: 浏览器输入对应的IP地址,输入账号密码连网: 下载对应软件,输入账号密码连网: 而面对没有界面的服务器,而你又没有root权限 ...

  3. python爬虫 模拟登陆校园网-初级

    最近跟同学学习爬虫的时候看到网上有个帖子,好像是山大校园网不稳定,用py做了个模拟登陆很有趣,于是我走上了一条不归路..... 先上一张校园网截图 首先弄清一下模拟登陆的原理: 1:服务器判定浏览器登 ...

  4. Python脚本模拟登陆DVWA

    目录 requests模拟登陆 Selenium自动化测试登陆 环境:python3.7 windows requests模拟登陆 我们登陆DVWA的时候,看似只有一步:访问网站,输入用户名和密码,登 ...

  5. Python脚本-自动下载安装

    #coding=utf-8 import os import sys if os.getuid() == 0: pass else: print 'no' sys.exit(1) version = ...

  6. python selenium 自动登陆

    #-*- coding:utf8 -*- # 导入selenium2中的webdriver库 from time import sleep from selenium import webdriver ...

  7. python脚本-开机自动联网

    办公室的电脑开机之后,需要打开浏览器登录校园用户认证网页,输入用户名密码登录认证之后才能联网,每次都这样搞很麻烦,写了个Python脚本自动完成这个工作. onStartup.py #file:onS ...

  8. Python实现自动登录/登出校园网网关

    学校校园网的网络连接有免费连接和收费连接两种类型,可想而知收费连接浏览体验更佳,比如可以访问更多的网站.之前收费地址只能开通包月服务才可使用,后来居然有了每个月60小时的免费使用收费地址的优惠.但是, ...

  9. GCC源码自动编译-python脚本

    一.前言 目前因机器OS GCC版本太老,导致无法编译一些新版本软件,所以写了一个自动编译GCC的python脚本,操作系统是比较老的suse 10, 很多系统自动软件版本都很低,所以此脚本一般可适用 ...

随机推荐

  1. Red Hat Enterprise Linux 5 64-bit chinese language support config steps

    Red Hat Enterprise Linux 5 64-bit 系统下安装中文语言支持方法 测试环境:Windows2012+Vmvare9.0+Red Hat Enterprise Linux ...

  2. Linux IPC实践(13) --System V IPC综合实践

    实践:实现一个先进先出的共享内存shmfifo 使用消息队列即可实现消息的先进先出(FIFO), 但是使用共享内存实现消息的先进先出则更加快速; 我们首先完成C语言版本的shmfifo(基于过程调用) ...

  3. 高通 8x12 添加 TP和按键

    1 .在tp的驱动文件中添加以下代码实现按键功能 [plain] view plain copy static ssize_t ft5x06_virtual_keys_register(struct  ...

  4. C语言的引用计数与对象树

    引用计数与对象树 cheungmine 2013-12-28 0 引言 我们经常在C语言中,用指针指向一个对象(Object)的结构,也称为句柄(Handle),利用不透明指针的技术把结构数据封装成对 ...

  5. 通过Java进行网页抓取并生成plist创建代码

    抓取网页的方法: 抓取网页可以通过正则表达式也可以通过Java. 通过firefox浏览器,安装Firebug来查看网页的源代码. 首先将要抓取的部分保存到本地,步骤如下: 1.在要抓取的位置右键,选 ...

  6. SpriteBuilder中CCB精灵对象的Sprite frame为什么有时候不能修改

    有时候你会发现CCB中的精灵对象(root节点)的Sprite frame是灰色的,不能修改.因为它是根对象,所以不存在被嵌入其他CCB的情况,那到底是什么原因呢? 可以发现此时的Timeline当前 ...

  7. Understanding Android Security(安卓安全的理解)

    论文作者: Enck, William Ongtang, MacHigar McDaniel, Patrick 下一代的开放操作系统不会在个人主机和大型主机上出现,而是在只能手机上.新环境的开放性将会 ...

  8. 【Qt编程】基于Qt的词典开发系列<十一>系统托盘的显示

    本文主要讨论Qt中的系统托盘的设置.系统托盘想必大家都不陌生,最常用的就是QQ.系统托盘以简单.小巧的形式能让人们较快的打开软件.废话不多说,下面开始具体介绍. 首先,新建一个Qt Gui项目,类型选 ...

  9. 图像的基本运算——scale, rotation, translation

    图像是视觉信息的直接反应,图像呈现出各种各样的特效都是通过图像的基本运算来完成的.图像最基本的运算有三种,分别是scale,rotation 和translation,叫做尺度,旋转和平移.很多图像的 ...

  10. shell脚本调用python脚本的路径问题

    脚本的相互调用中,只有在同一级目录下才可以使用__file__参数去获取路径名,(在shell里使用pwd也同样),否则,使用的就是主文件(最开始运行的脚本程序)的所在位置,是错误路径:一定要注意当期 ...