浏览器家园

TAG标签|网站导航| 手机访问:m.liulanqi.com

当前位置:首页开发学院网页开发 → 【插件】cors:vscode cors 扩展 – 解决跨域开发最终版

【插件】cors:vscode cors 扩展 – 解决跨域开发最终版

时间:2023-06-27 13:03:56来源:整理作者:浏览器知识手机版

说在前头

解决跨域的方式不下 7 8 种,类似的文章我也发表过,但开发路上总会遇到一些奇奇怪怪的限制,让你始终没法 easy 调试,这次我干脆写了个 vscode 扩展,伴随开发工具一起完灭Access-Control-Allow-Origin


一、下载

download

vscode 扩展应用商店搜索“cors”下载即可


二、如何使用

1、开启

ui

右下角会显示新的 icon,点击他即可开启内置服务

icon
start
listening

至此开启了本地端口 1337 的监听

2.1、ajax 联调(get 示例 —— lofter)

借用 lofter 的 API 尝试

$.ajax({
  type: "get",
  url: "http://www.lofter.com/trade/reward/isOpen",
  success: function(res) {
    console.log(res);
  }
});
复制代码

当前请求会报跨域错误,将以上转换为

var VSCODE_CORS_URL = {
  key: "http://localhost:1337",
  proxy: "http://www.lofter.com"
};
$.ajax({
  type: "get",
  url:
    "http://localhost:1337/trade/reward/isOpen?VSCODE_CORS=" +
    JSON.stringify(VSCODE_CORS_URL),
  success: function(res) {
    console.log(res);
  }
});
复制代码
ok

返回成功

2.2、ajax 联调(post 示例 —— 掘金)

借用 juejin 的 API 尝试

$.ajax({
  type: "post",
  url: "https://web-api.juejin.im",
  contentType: "application/json;charset=UTF-8",
  data: JSON.stringify({
    operationName: "",
    query: "",
    variables: {
      limit: 10,
      excluded: []
    },
    extensions: {
      query: {
        id: "5a924f4574e04d67b2ae5df189e8423d"
      }
    }
  }),
  success: function(res) {
    console.log(res);
  }
});
复制代码

当前请求会报跨域错误,将以上转换为

var VSCODE_CORS_URL = {
  key: "http://localhost:1337",
  proxy: "https://web-api.juejin.im",
  other: {
    requestHeaders: {
      "X-Agent": "Juejin/Web"
    }
  }
};
$.ajax({
  type: "post",
  url:
    "http://localhost:1337/query?VSCODE_CORS=" +
    JSON.stringify(VSCODE_CORS_URL),
  contentType: "application/json;charset=UTF-8",
  data: JSON.stringify({
    operationName: "",
    query: "",
    variables: {
      limit: 10,
      excluded: []
    },
    extensions: {
      query: {
        id: "5a924f4574e04d67b2ae5df189e8423d"
      }
    }
  }),
  success: function(res) {
    console.log(res);
  }
});
复制代码
ok2

返回成功

3、关闭

close

三、API

因为设计的非常简单,所以目前 API 配置仅有3 个

  1. key(指向当前 cors 起的服务器地址)
  2. proxy(指向请求的目标地址)
  3. other(其他相关配置项)

关于 other,目前给开发者提供了 requestHeaders 的变更

var VSCODE_CORS_URL = {
  key: "http://localhost:XX",
  proxy: "https://XX",
  other: {
    requestHeaders: {
      "X-Agent": "XX",
      Cookie: "XX"
      // more
    }
  }
};
复制代码

扩展内部默认为 axios,以上 requestHeaders 会被以下源码处理,如有相同可被覆盖

headers: {
  'Accept': '*/*',
  'Accept-Encoding': 'utf-8',
  'Accept-Language': 'zh-CN,zh;q=0.8',
  'Host': Host,
  'Origin': Host,
  'Referer': 'http://' + Host,
  'Connection': 'keep-alive',
  'Cookie': "",
  ...requestHeaders
}
复制代码

四、自测情况

Type

  • Get √
  • Post + application/json √
  • Post + application/x-www-form-urlencoded √

Lib

  • JQ √
  • axios √

关于

make:o︻そ ╆OVE▅▅▅▆▇◤(清一色天空)

blog:blog.csdn.net/mcky_love

掘金:juejin.im/user/59fbe6…

lofter:zcxy-gs.lofter.com/

sf:segmentfault.com/u/mybestang…

git:github.com/gs3170981/v…


结束语

如有 bug/意见,望提 Issues,如好用请 star~

相关文章

  • 迅雷关闭监测浏览器功能,迅雷关闭监测浏览器功能,用户上网更隐私

    问题引入随着互联网的普及,越来越多的人开始使用迅雷下载工具来获取资源。然而,很多用户并不知道,在使用迅雷下载时,它会默认开启监测浏览器功能,记录用户的浏览历史,这对用户的隐私构成了一定威胁。2.迅雷监测浏览器功能的危害通过开启监测浏览器功能,迅雷可以记录用户的浏览历史,并向广告商出售数据,让他们精准地投放广告。这意味着用户的个人隐私会被泄露,而且还会受到不必要的广告骚扰,影响用户的上网体验。3.如何关闭迅雷监测浏览器功能?关闭迅雷监测浏览器功能非常简单,只需要在迅雷软件中进行一些设置即可。首先,打开迅..
  • 谷歌浏览器版官方下载,谷歌浏览器官方下载 for PCMacLinux

    谷歌浏览器官方下载forPC/Mac/Linux1.为什么要使用谷歌浏览器?谷歌浏览器是由谷歌公司开发的一款免费的网页浏览器,它支持多种操作系统,包括Windows、Mac和Linux系统。相较于其他浏览器,它具有更快的加载速度、更加稳定的性能、更好的安全性以及丰富的扩展程序。此外,谷歌浏览器还与Google账号紧密结合,能够实现更加智能化、便捷化的服务。2.如何下载谷歌浏览器?你可以通过以下几种方式下载谷歌浏览器:1.访问谷歌浏览器官方网站,点击“下载Chrome”按钮,即可下载最新版本的谷歌浏览器。2..

Copyright 2019-2029 www.liulanqi.com 【浏览器家园】 版权所有

浏览器家园_下载浏览器就到浏览器家园 | 专注MAC浏览器和Windows浏览器下载和使用介绍

声明: 所有软件和文章收集整理来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告