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

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

在我们学校,工作时间内(周一至周五为工作日,下午上班时间)校园网都会拦截一些与工作无关的网站,例如购物、炒股、游戏、音乐等。
其实不只是我们学校,很多公司都是,上班期间会限制你使用内网访问某些网站。

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

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

在这里插入图片描述

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

是何原理?如何突破?

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

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


如果你请求的资源 不在黑名单内,他会让你不做任何操作,就和上一张图一样。
如果在黑名单内,就将你的请求进行302跳转。
在你(宿)访问目标资源(源)的途中(道),将你的目标源强制跳转(302)到你所看到的拦截页面。

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

解决方法有二

其一: 代理

此处并非ip代理,而是资源代理。
由于封锁的是目标资源(源),而不是你的ip或设备(宿)。
所以你只要切换非拦截的源就可以了
将你的服务器作为跳板

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

其二: 忽略302跳转

刚刚原理就是将你的请求进行302跳转
我们只要忽略掉这个跳转就好了
而这恰恰是比较难的地方,所以一般都是第一种方法。

恰好
我做的PC端音乐盒 使用MediaPlayer插件作为播放器的
而MediaPlayer又恰好不支持跳转
也就是说 302 跳转对MediaPlayer 无效

访问效果截图

音乐盒截图
在上班时间内,正常访问到了网易云的图片资源
在这里插入图片描述
音乐、图片、歌词都正常访问。
楠少博客同步更新:https://blog.nanshaobit.top/94

版权声明:本文为nanshaobit原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/nanshaobit/p/12464624.html