zoukankan      html  css  js  c++  java
  • python 脚本自动登陆校园网

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

    1. 方法说明

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

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

     

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

     

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

     1 '''
     2 南京大学校园网自动登录脚本
     3 @author: zutterhao
     4 @parameter: post_addr: 南大校园网登陆地址
     5             post_header:浏览器登陆校园网的post请求
     6             post_data: 登陆的用户名和密码
     7 @date:2018年5月8日
     8 '''
     9 
    10 import requests
    11 #登陆地址
    12 post_addr = "http://p.nju.edu.cn/portal_io/login"
    13 #构造头部信息
    14 post_header = {
    15     'Accept': 'application/json, text/javascript, */*; q=0.01',
    16     'Accept-Encoding':'gzip, deflate',
    17     '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',
    18     'Connection':'keep-alive',
    19     'Content-Length':'39',
    20     'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
    21     'Host':'p.nju.edu.cn',
    22     'Referer':'http://p.nju.edu.cn/portal/index.html?v=201606170633',
    23     'User-Agent':'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0',
    24     'X-Requested-With':'XMLHttpRequest'
    25 }
    26 #构造登录数据
    27 post_data = {
    28     'password': '********',
    29     'username': '********'
    30 }
    31 #发送post请求登录网页
    32 z = requests.post(post_addr,data=post_data,headers = post_header)
    33 print("登录完成!")

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

    1 cd .autologin
    2 python .login.py

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

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

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

  • 相关阅读:
    jquery target属性 语法
    jquery result属性 语法
    jquery preventDefault()方法 语法
    jquery pageY属性 语法
    jquery pageX属性 语法
    jquery pageX属性 语法
    jquery isDefaultPrevented()方法 语法
    jquery error()方法 语法
    jquery die()方法 语法
    jquery die()方法 语法
  • 原文地址:https://www.cnblogs.com/zutterhao/p/9012564.html
Copyright © 2011-2022 走看看