当前位置: 首页 > news >正文

新余教育网站建设企业网站赏析

新余教育网站建设,企业网站赏析,如何建立一个网站平台网站,互联网推广的方式chrome.webRequest chrome插件提供有chrome.webRequest这么个API,这是一个系列API,允许开发者对请求的多个阶段进行事件监听。可是先告诉你这个方式行不通。不要用了,文后会有真正获取方式。 但比较可惜的是这个API能力比较有限,…

chrome.webRequest

chrome插件提供有chrome.webRequest这么个API,这是一个系列API,允许开发者对请求的多个阶段进行事件监听。可是先告诉你这个方式行不通。不要用了,文后会有真正获取方式。

但比较可惜的是这个API能力比较有限,你不能通过它直接获取到响应内容。

onBeforeRequest(可选同步)

在请求即将发生时触发。此事件在建立任何 TCP 连接之前发送,可以 用于取消或重定向请求。

onBeforeSendHeaders(可选同步)

在请求即将发生且初始标头准备就绪时触发。该事件为 旨在允许扩展程序添加、修改和删除请求标头 (*)。通过 onBeforeSendHeaders 事件传递到所有订阅者,因此不同的订阅者可能会尝试 修改请求;请参阅实现详情部分,了解具体方法。此活动 可用于取消请求。

onSendHeaders

在所有扩展程序都有机会修改请求标头后触发,并显示最终版本 (*) 版本。该事件在标头发送到广告网络之前触发。此活动是 信息丰富,并异步处理。不允许修改或取消请求。

onHeadersReceived(可选同步)

每次收到 HTTP(S) 响应标头时触发。由于重定向和身份验证的原因 请求,每个请求可能会发生多次请求此事件旨在让扩展程序 添加、修改和删除响应标头,例如传入的 Content-Type 标头。缓存 指令会在此事件触发之前进行处理,因此修改 Cache-Control 等标头 对浏览器的缓存没有影响。还可以取消或重定向请求。

onAuthRequired(可选同步)

在请求需要对用户进行身份验证时触发。该事件可以同步处理, 提供身份验证凭据。请注意,扩展程序可能会提供无效的凭据。照顾好自己 避免因反复提供无效凭据而进入无限循环。这也可用于 取消请求。

onBeforeRedirect

即将执行重定向时触发。重定向可由 HTTP 响应触发 代码或扩展程序此事件提供信息,并会异步处理。不允许 以修改或取消请求。

onResponseStarted

收到响应正文的第一个字节时触发。对于 HTTP 请求,这意味着 提供状态行和响应标头。此活动仅供参考,且已处理 异步执行。不允许修改或取消请求。

onCompleted

成功处理请求时触发。

onErrorOccurred

无法成功处理请求时触发。

Web 请求 API 可保证对于每个请求,onCompleted 或 onErrorOccurred 作为最终事件触发,但有一个例外情况:如果请求被重定向到data://网址, onBeforeRedirect 是最后报告的事件。

* 请注意,网络请求 API 将网络堆栈的抽象呈现给扩展程序。 在内部,一个网址请求可拆分为多个 HTTP 请求(例如,抓取单个网址) 字节范围),也可以由网络堆栈处理,无需与 。因此,API 不会提供发送到 。例如,与缓存相关的所有标头对扩展程序来说都是不可见的。

解决方法

替换页面中的请求方法没用,很多网站自己会重写XMLHttpRequest,所以唯一的办法就是使用vconsole这个依赖库实现,通过修改这个vconsole源码来实现,vconsole是一个开源项目:https://github.com/Tencent/vConsole

使用的时候记得用在content里面:

简单来说就是,content_scripts和目标页面是运行在一块的,DOM这些是共用一套,但是Javascript执行环境是隔离的。这也就解释了为啥上面替换没生效,因为上面的脚本换掉的是自己执行环境中的XMLHttpRequest,而不是目标页面的。

那么,能不能让注入代码的执行环境和目标页面的执行环境不隔离呢?

这是个好问题。答案是可以的,chrome插件提供了一个叫world的配置项,它有两个值:ISOLATED(默认值)和MAIN。前者指明content_scripts是在隔离的环境中执行的,后者指明content_scripts和目标页面在一个环境中执行

http://www.dtcms.com/a/585071.html

相关文章:

  • Flink CDC 从 Definition 到可落地 YAML
  • 深入理解C语言字符串复制:从基础实现到优雅设计
  • SQL注入之堆叠及waf绕过注入(安全狗)
  • 微信小程序开发案例 | 极简清单小程序(下)
  • 37.华为云网络类云服务
  • Java设计模式精讲---04原型模式
  • 有哪些网站是可以做免费推广的做视频网站要多大的服务器
  • 线代强化NO1|行列式及矩阵
  • Shelly智能模块:家居科技革新之选
  • 网页Iframe读取PDF文件的参数设置
  • 电子商务网站规划与建设广州网站建设网站制作公司
  • 线性代数 - 理解 特征方程 Eigenvalue Equation定义的合理性
  • 关于新项目在PyCharm中自动构建UV环境的问题
  • jmeter 使用汇总报告查看吞吐量(QPS) 总在一个低数值上不去的解决办法
  • C++ 方向 Web 自动化测试实战:以博客系统为例,从用例到报告全流程解析
  • 东莞网站建设排名浙江省网站集约化建设
  • 《VS+Elasticsearch+Figma:开发全流程工具联动指南》
  • 代码自动生成文本小工具TextStringizerWpf
  • 旅游加盟网站建设网络营销类型
  • 【PySpark】安装测试
  • 网站建设现在主要做些什么软件开发项目实施方案
  • 信道编码的分类和总结
  • 实例:跳动的心,火柴人
  • STM32项目分享:智能窗帘(机智云)
  • web网页开发,在线%商城,电商,商品购买%系统demo,基于vscode,apache,html,css,jquery,php,mysql数据库
  • 国外免费服务器地址优速网站建设优化seo
  • jmeter 分布式压测
  • 黑马JAVAWeb-11 请求参数为数组-XML自动封装-XML手动封装-增删改查-全局异常处理-单独异常分别处理
  • 算法通关指南:数据结构和算法篇 --- 队列相关算法题》--- 1. 【模板】队列,2. 机器翻译
  • 招聘决策新变革:判断型 AI 的应用与价值