iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Electron网络拦截的方法是什么
  • 662
分享到

Electron网络拦截的方法是什么

2023-07-05 10:07:44 662人浏览 八月长安
摘要

本篇内容介绍了“Electron网络拦截的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Electron 提供的 WEBReque

本篇内容介绍了“Electron网络拦截的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Electron 提供的 WEBRequest api,允许开发者对网络进行过滤和监听,并且可以修改 header 字段甚至请求地址,功能非常强大,它的类结构如下:

Electron网络拦截的方法是什么

不过需要注意,该模块只能在主进程中使用,接下来为大家介绍 webRequest 三个非常典型的使用场景:

自定义 UA

有些接口为了过滤非法请求,会首先校验 UserAgent,正常的浏览器是无法伪造 UA 的,不过在 Electron 里面可以很容易做到,webRequest 模块提供的 onBeforeSendHeaders 方法能够对域名进行过滤,拦截即将发出去的请求头,修改之后再真正的发出去。例如下面的代码会在访问 GitHub 相关域名的时候,把 header 中的 User-Agent 字段修改为 MyAwesomeAgent:

const { session } = require('electron')const filter = {  urls: ['https:/*'],}win.webContents.session.webRequest.onHeadersReceived(filter, (details, callback) => {  const { responseHeaders } = details  responseHeaders['Access-Control-Allow-Origin'] = ['*']  callback({ responseHeaders })})

打开网络面板观察网络请求,响应标头里面就有 Access-Control-Allow-Origin 了,成功绕过 cors 校验:

Electron网络拦截的方法是什么

请求转发

通过 webRequest API,可以将发到接口 A 的请求转发到接口 B。为了验证这个能力,我们写了一个 Http 服务,同时监听 3030 和 4040 端口,并响应 JSON 数据,里面包含了 port 字段表示当前请求到了哪个端口:

const http = require('http')const URL = require('url')function listen(port) {  http    .createServer((req, res) => {      const { url, method, headers } = req      const { query, pathname } = URL.parse(url, true)      res.setHeader('Content-Type', 'application/json')      res.end(JSON.stringify({ method, pathname, query, headers, port }))    })    .listen(port)}listen(3030)listen(4040)

然后通过 onBeforeRequest方法进行拦截:

win.webContents.session.webRequest.onBeforeRequest(  {    urls: ['http://localhost:3030/*'],  },  (details, callback) => {    callback({ redirectURL: 'http://localhost:4040' })  },)

在控制台发送 3030 端口请求,结果返回了 4040 端口的数据:

Electron网络拦截的方法是什么

这个能力非常强大,例如可以做下面的事情:

  • 后端接口未部署之前,前端自己做本地接口 mock

  • 把某个页面的 js 拦截掉,换成自己的 js 来调试

  • 故意请求一个不存在的地址,然后仅对授权用户转发到真实地址

“Electron网络拦截的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Electron网络拦截的方法是什么

本文链接: https://www.lsjlt.com/news/351229.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Electron网络拦截的方法是什么
    本篇内容介绍了“Electron网络拦截的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Electron 提供的 webReque...
    99+
    2023-07-05
  • vue请求拦截器的配置方法是什么
    这篇文章给大家介绍vue请求拦截器的配置方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。request.js内容http request请求拦截器和http response服务器响应拦截器配置// ...
    99+
    2023-06-22
  • vue的请求拦截是什么
    前言随着前端技术的日新月异,前端框架也越来越多样化,Vue.js 作为一款流行的前端 MVVM 框架,不断地吸引着新的开发者加入到 Vue.js 的阵营中来。在 Vue.js 中,我们经常会用到 AJAX 请求来从服务器获取数据,但是在发送...
    99+
    2023-05-18
  • 阿里云服务器的网络拦截
    1. 什么是阿里云服务器的网络拦截? 阿里云服务器是一种云计算服务,它提供了强大的计算、存储和网络功能,使用户能够轻松地构建和管理自己的应用程序和服务。在网络方面,阿里云服务器提供了多种网络控制功能,包括网络隔离、访问控制和流量控制等。在阿...
    99+
    2024-01-17
    阿里 服务器 网络
  • Javainterceptor拦截器的方法
    拦截器的概念  java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止...
    99+
    2024-04-02
  • Swagger2不被SpringSecurity框架拦截的配置方法是什么
    本篇内容主要讲解“Swagger2不被SpringSecurity框架拦截的配置方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Swagger2不被SpringSecurity框架拦截的...
    99+
    2023-07-05
  • Java实现拦截器Interceptor的拦截功能方式是怎么样的
    本篇文章为大家展示了Java实现拦截器Interceptor的拦截功能方式是怎么样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java 里的拦截器是动态拦截 action 调用的对象,它提供了一...
    99+
    2023-06-25
  • SpringMVC拦截器的作用是什么
    本篇内容主要讲解“SpringMVC拦截器的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringMVC拦截器的作用是什么”吧!目录web.xml文件springMVC配置文件:c...
    99+
    2023-06-20
  • Mybatis拦截器安全加解密MySQL数据的方法是什么
    本文小编为大家详细介绍“Mybatis拦截器安全加解密MySQL数据的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mybatis拦截器安全加解密MySQL数据的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-06-26
  • shiro拦截认证的过程是什么
    这篇文章主要介绍“shiro拦截认证的过程是什么”,在日常操作中,相信很多人在shiro拦截认证的过程是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”shiro拦截认证的过程是什么”的疑惑有所帮助!接下来...
    99+
    2023-06-21
  • Angular中的请求拦截的方法
    目录区分环境添加拦截器验证在上一篇的文章 Angular 中使用 Api 代理,我们处理了本地联调接口的问题,使用了代理。 我们的接口是单独编写的处理的,在实际的开发项目中,有众多的...
    99+
    2024-04-02
  • springboot拦截器配置的步骤是什么
    配置Spring Boot拦截器的步骤如下:1. 创建一个实现了`HandlerInterceptor`接口的拦截器类。```jav...
    99+
    2023-10-11
    springboot
  • Linux网络监控的方法是什么
    这篇文章主要介绍了Linux网络监控的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux网络监控的方法是什么文章都会有所收获,下面我们一起来看看吧。Linux网络监控具体方法:查看网卡信息,带宽...
    99+
    2023-06-28
  • centos网络重启的方法是什么
    要重启CentOS系统的网络服务,可以执行以下命令: sudo systemctl restart network 这将重新启动系...
    99+
    2024-03-02
    centos
  • struts2拦截器的工作原理是什么
    Struts2拦截器的工作原理是基于责任链模式。当请求到达Struts2框架时,它会依次经过一系列的拦截器。每个拦截器可以在请求被传...
    99+
    2023-10-24
    struts2
  • Struts2拦截器的实现原理是什么
    Struts2拦截器的实现原理是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Struts2的核心在于它复杂的拦截器,几乎70%的工作都是由拦截器完成的。比...
    99+
    2023-05-31
    struts st
  • 电脑截屏截图的方法是什么
    电脑截屏截图的方法有多种,具体如下:1. 使用快捷键:在Windows系统中,按下“Print Screen”键或“PrtSc”键可...
    99+
    2023-09-07
    电脑
  • php拦截ddos的方法有哪些
    PHP可以使用以下方法来拦截DDoS攻击:1. 频率限制:可以通过限制IP地址或用户的请求频率来减少DDoS攻击。可以使用缓存或数据库记录请求次数,并设置一个阈值来限制请求频率。2. 验证码:在重要的操作中,如登录、注册或表单提交时,可...
    99+
    2023-08-11
    php
  • springboot自定义拦截器的方法
    拦截器应该分属于web框架的组件,每个框架提供的自己的支持,实现方式也就不同。例如Struts和Spring,以下是Spring 的拦截器总结,它是基于动态代理(反射)实现的。 Sp...
    99+
    2024-04-02
  • Excel截图的方法是什么
    这篇文章主要介绍“Excel截图的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Excel截图的方法是什么”文章能帮助大家解决问题。Excel截图方法方法一、快捷键截图选中所需要的截图区域...
    99+
    2023-07-01
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作