楠少音乐盒(PC端)突破校园网限制
楠少音乐盒 突破校园网限制
最近在将音乐盒从web迁移到PC端,过程中的记录
在我们学校,工作时间内(周一至周五为工作日,下午上班时间)校园网都会拦截一些与工作无关的网站,例如购物、炒股、游戏、音乐等。
其实不只是我们学校,很多公司都是,上班期间会限制你使用内网访问某些网站。
当你在其限制时间内,访问这些网站时,就会被强制跳转到拦截页面(302跳转)
例如,网易云音乐 music.163.com
从截图中可以看到,它被302跳转到了一个内网地址,该域名下的所有资源,全部不可访问。
是何原理?如何突破?
从上面网络请求过程中的截图也可看出,当你访问某个URI时,它会给你捣乱。
正常的请求过程 应该是这样的:
而当校园网的软路由或上网行为管理系统上线后就不一样了
如果你请求的资源 不在黑名单内,他会让你不做任何操作,就和上一张图一样。
如果在黑名单内,就将你的请求进行302跳转。
在你(宿)访问目标资源(源)的途中(道),将你的目标源强制跳转(302)到你所看到的拦截页面。
原理大概就是这样,那么我们该从何下手呢?
解决方法有二
其一: 代理
此处并非ip代理,而是资源代理。
由于封锁的是目标资源(源),而不是你的ip或设备(宿)。
所以你只要切换非拦截的源就可以了
将你的服务器作为跳板
- 第一步,检测到被拦截时,将目标资源地址发送到你的代理服务器
- 第二步,代理服务器收到请求以及目标资源的地址,去目标服务器请求资源
- 第三步,目标服务器查找到资源进行响应
- 第四步,代理服务器收到目标服务器响应,将资源转发给用户
- 第五步,用户成功接收到资源
其二: 忽略302跳转
刚刚原理就是将你的请求进行302跳转
我们只要忽略掉这个跳转就好了
而这恰恰是比较难的地方,所以一般都是第一种方法。
恰好
我做的PC端音乐盒 使用MediaPlayer插件作为播放器的
而MediaPlayer又恰好不支持跳转
也就是说 302 跳转对MediaPlayer 无效
访问效果截图
在上班时间内,正常访问到了网易云的图片资源
音乐、图片、歌词都正常访问。
楠少博客同步更新:https://blog.nanshaobit.top/94
个人博客: | https://blog.nanshaobit.top |
CSDN: | https://blog.csdn.net/LZ_nanshao |
码云: | https://gitee.com/nanshaobit |
Github: | https://github.com/nanshaobit |