zoukankan      html  css  js  c++  java
  • 楠少音乐盒(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

  • 相关阅读:
    url处理函数
    各种排序方法(冒泡,快速,插入,选择),二分查找
    js二叉树,前序/中序/后序(最大最小值,排序)
    vs中nuget命令的用法
    父子页面间调用
    Ubuntu16.04.2 LTS下使用编译安装程序(使用configure、make、 make install)
    windows与虚拟机的linux共享一个文件夹
    Linux下安装nginx
    Linux下安装VSCode
    Ubuntu下安装jdk
  • 原文地址:https://www.cnblogs.com/nanshaobit/p/12464624.html
Copyright © 2011-2022 走看看