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

  • 相关阅读:
    linux里source、sh、bash、./有什么区别
    grafna如何用新的dashbord覆盖旧的dashbord
    selenium.webdriver获取结果转为json格式
    利用Python读取和修改Excel文件(包括xls文件和xlsx文件)——基于xlrd、xlwt和openpyxl模块
    python多线程实现ping多个ip
    Kubernetes 从懵圈到熟练 – 集群网络详解(转)
    kubectl 自动补全
    跨域资源共享 CORS 详解
    serializers--嵌套关系作为字段来表示
    Vue结合后端DjangoFramework的在线生鲜超市(前后端分离)【django2.2+xadmin+ueditor】
  • 原文地址:https://www.cnblogs.com/nanshaobit/p/12464624.html
Copyright © 2011-2022 走看看