楠少音乐盒 突破校园网限制

最近在将音乐盒从web迁移到PC端,过程中的记录

在我们学校,工作时间内(周一至周五为工作日,下午上班时间)校园网都会拦截一些与工作无关的网站,例如购物、炒股、游戏、音乐等。

其实不只是我们学校,很多公司都是,上班期间会限制你使用内网访问某些网站。

当你在其限制时间内,访问这些网站时,就会被强制跳转到拦截页面(302跳转)

例如,网易云音乐 music.163.com

从截图中可以看到,它被302跳转到了一个内网地址,该域名下的所有资源,全部不可访问。

是何原理?如何突破?

从上面网络请求过程中的截图也可看出,当你访问某个URI时,它会给你捣乱。

正常的请求过程 应该是这样的:

而当校园网的软路由或上网行为管理系统上线后就不一样了



如果你请求的资源 不在黑名单内,他会让你不做任何操作,就和上一张图一样。

如果在黑名单内,就将你的请求进行302跳转。

在你(宿)访问目标资源(源)的途中(道),将你的目标源强制跳转(302)到你所看到的拦截页面。

原理大概就是这样,那么我们该从何下手呢?

解决方法有二

其一: 代理

此处并非ip代理,而是资源代理。

由于封锁的是目标资源(源),而不是你的ip或设备(宿)。

所以你只要切换非拦截的源就可以了

将你的服务器作为跳板

  • 第一步,检测到被拦截时,将目标资源地址发送到你的代理服务器
  • 第二步,代理服务器收到请求以及目标资源的地址,去目标服务器请求资源
  • 第三步,目标服务器查找到资源进行响应
  • 第四步,代理服务器收到目标服务器响应,将资源转发给用户
  • 第五步,用户成功接收到资源

其二: 忽略302跳转

刚刚原理就是将你的请求进行302跳转

我们只要忽略掉这个跳转就好了

而这恰恰是比较难的地方,所以一般都是第一种方法。

恰好

我做的PC端音乐盒 使用MediaPlayer插件作为播放器的

而MediaPlayer又恰好不支持跳转

也就是说 302 跳转对MediaPlayer 无效

访问效果截图



在上班时间内,正常访问到了网易云的图片资源



音乐、图片、歌词都正常访问。

楠少博客同步更新:https://blog.nanshaobit.top/94

楠少音乐盒(PC端)突破校园网限制的更多相关文章

  1. 湖北校园网PC端拨号算法逆向

    湖北校园网PC端拨号算法逆向 前言 上一文 PPPoE中间人拦截以及校园网突破漫谈我们谈到使用 PPPoE 拦截来获取真实的账号密码. 在这个的基础上,我对我们湖北的客户端进行了逆向,得到了拨号加密算 ...

  2. 如何解决PC端和移动端自适应问题?

    做网页时,我们通常需要考虑到不同电脑屏幕尺寸,以及不同手机屏幕大小等问题,解决样式发生改变的情况,那么如何解决呢?现在主要是采用自适应来解决高度,宽度的,以及图片自适应问题,下面就PC端和移动端来总结 ...

  3. PC 端微信扫码注册和登录

    一.前言 先声明一下,本文所注重点为实现思路,代码及数据库设计主要为了展现思路,如果对代码效率有着苛刻要求的项目切勿照搬. 相信做过微信开发的人授权这块都没少做过,但是一般来说我们更多的是为移动端的网 ...

  4. 曾经的pc端项目踩到的一些兼容性的坑及其解决方案

    曾经公司pc端项目一直最低兼容到IE7,要求和chrome下浏览效果一致,真心坑坏了我和另外一个小伙伴(另一个小伙伴以前也没处理过兼容问题).不过还好,在这里真心感谢鑫哥博客的详解,从底层原理讲到了具 ...

  5. 社交媒体(朋友圈、微博、QQ空间)开发一网打尽,PC端移动端都有!——源码来袭!

    一.应用场景 曾几何时,社交媒体已经驻扎到了几乎每个人的生活中.看看你身边的朋友,有几个不玩朋友圈的?就算他不玩朋友圈,那也得玩微博吧.再没有底线,也得玩QQ空间. 不过,作为程序员的我们,没事还是少 ...

  6. 社交系统/社群系统“ThinkSNS+”H5及PC端终于来了!一起来“找茬”

    [什么是TS+?] ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+,简称TS+. 还记得2017年 ...

  7. PC端车牌识别朱凯茵从事图像识别算法、OCR算法

    大家好,我是从事图像识别的pc端车牌识别朱凯茵,多多交流OCR算法,不限于车牌识别等,技术需要突破,你我成就梦想.

  8. PC端、移动端的页面适配及兼容处理

    转自 一.关于移动端兼容性 目前针对跨终端的方案,主要分为两大阵营:一套资源Vs两套资源. 第一种是通过响应式或页面终端判断去实现一套资源适配所有终端: 第二种是通过终端判断分别调取两套资源以适配所有 ...

  9. web前端工程师在移动互联网时代里的地位问题 为啥C/S系统在PC端没有流行起来,却在移动互联网下流行了起来 为啥移动端的浏览器在很多应用里都是靠边站,人们更加倾向于先麻烦自己一下,下载安装个客户端APP

    web前端工程师在移动互联网时代里的地位问题 支付宝十周年推出了一个新产品:支付宝的十年账单,我也赶个时髦查看了一下我的支付宝十年账单,哎,感慨自己真是太屌丝了,不过这只是说明我使用淘宝少了,当我大规 ...

  10. PC端轻松控制Android手机,PC Control Andoroid,PC控制安卓手机

    记录此次经历的目的是帮助需要的人或下次使用时少走弯路,我为此试用了不少工具及方法,因为追求免费,像"Weak Control:在PC上控制你的Android手机"还要收费的我就不弄 ...

随机推荐

  1. Cesium案例(八) Terrain

    第一步正常建viewer,需要注意的是官网例子属性值比较老,最新版本的属性值有所差异,全copy官网会无法运行,提示函数未定义. 第一处差异 官网: 1 const viewer = new Cesi ...

  2. Looper 源码分析

    //可以看到我们的Looper是存放在线程独有的ThreadLocal进行隔离的    //也就是每个线程独有一份Looper    static final ThreadLocal<Loope ...

  3. TS(一)环境搭建与基本类型

    1 TypeScript 环境搭建 1 准备NodeJs环境 2 npm全局安装typeScript npm i -g typescript 3 编写一个ts文件 4 使用tsc命令编译ts文件为js ...

  4. MySQL MHA信息的收集【Filebeat+logstash+MySQL】

    一.项目背景 随着集团MHA集群的日渐增长,MHA管理平台话越来越迫切.而MHA平台的建设第一步就是将这些成百上千套的MHA集群信息收集起来,便于查询和管理. MHA主要信息如下: (1)基础配置信息 ...

  5. 非关系型数据库---Redis安装与基本使用

    一.数据库类型 关系数据库管理系统(RDBMS) 非关系数据库管理系统(NoSQL) 按照预先设置的组织机构,将数据存储在物理介质上(即:硬盘上) 数据之间可以做无关联操作 (例如: 多表查询,嵌套查 ...

  6. node服务容器 serve 和 http-serve

    参考:https://www.cnblogs.com/leee/p/5502727.html 项目打包文件本地起serve运行 不能直接双击index.html文件直接运行 放到http容器里运行 s ...

  7. Python 组织列表

    组织列表 在创建的列表中,元素的排列顺序是无法预测的,不能总控制用户提供数据的顺序,通过组织列表的方式,来控制列表的排序 使用方法sort()对列表进行永久性排序 sort()方法:列表中值时小写时默 ...

  8. BugKu_never_give_up

    if(!$_GET['id']) { header('Location: hello.php?id=1'); exit(); } $id=$_GET['id']; $a=$_GET['a']; $b= ...

  9. 基于ORB-SLAM3库搭建SLAM系统

    参考资料 ORB-SLAM3配置及安装教程 ORB-SLAM3配置安装及运行 环境配置 Win 11pro VMware 17Pro Ubuntu 18.04 Eigen3 Pangolin Open ...

  10. 2022-05-30:给定一个n*2的二维数组,表示有n个任务。 一个信息是任务能够开始做的时间,另一个信息是任务的结束期限,后者一定大于前者,且数值上都是正数, 你作为单线程的人,不能并行处理任务,

    2022-05-30:给定一个n*2的二维数组,表示有n个任务. 一个信息是任务能够开始做的时间,另一个信息是任务的结束期限,后者一定大于前者,且数值上都是正数, 你作为单线程的人,不能并行处理任务, ...