温故而知新 监听 XMLHttpRequest 发起请求

window.XMLHttpRequest.prototype.open 可以监听 XMLHttpRequest 。但不能监听fetch请求。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- jquery -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>

<body>
</body>
<script>
var _open = window.XMLHttpRequest.prototype.open
var _send = window.XMLHttpRequest.prototype.send

// https://github.com/Tencent/vConsole/blob/dev/src/network/network.js#L271
window.XMLHttpRequest.prototype.open = function() {
    console.log(20181117200649, arguments)
    return _open.apply(this, arguments)
}

// fetch("http://localhost/fuck.php").then(response => {
//     // console.log(20181117201438, response.json())
//     return response.json()
// }).then(data=>{
//     console.log(20181117201450, data)
// })

$.ajax({
    url: "http://localhost/fuck.php",
    success: function (data) {
        console.log(20181117133228, data);
    }
})
</script>
</html>

td.linenos { background-color: #f0f0f0; padding-right: 10px }
span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px }
pre { line-height: 125% }
.hll { background-color: #49483e }
.c { color: #75715e }
.err { color: #960050; background-color: #1e0010 }
.k { color: #66d9ef }
.l { color: #ae81ff }
.n { color: #f8f8f2 }
.o { color: #f92672 }
.p { color: #f8f8f2 }
.ch { color: #75715e }
.cm { color: #75715e }
.cp { color: #75715e }
.c1 { color: #75715e }
.cs { color: #75715e }
.gd { color: #f92672 }
.ge { font-style: italic }
.gi { color: #a6e22e }
.gs { font-weight: bold }
.gu { color: #75715e }
.kc { color: #66d9ef }
.kd { color: #66d9ef }
.kn { color: #f92672 }
.kp { color: #66d9ef }
.kr { color: #66d9ef }
.kt { color: #66d9ef }
.ld { color: #e6db74 }
.m { color: #ae81ff }
.s { color: #e6db74 }
.na { color: #a6e22e }
.nb { color: #f8f8f2 }
.nc { color: #a6e22e }
.no { color: #66d9ef }
.nd { color: #a6e22e }
.ni { color: #f8f8f2 }
.ne { color: #a6e22e }
.nf { color: #a6e22e }
.nl { color: #f8f8f2 }
.nn { color: #f8f8f2 }
.nx { color: #a6e22e }
.py { color: #f8f8f2 }
.nt { color: #f92672 }
.nv { color: #f8f8f2 }
.ow { color: #f92672 }
.w { color: #f8f8f2 }
.mb { color: #ae81ff }
.mf { color: #ae81ff }
.mh { color: #ae81ff }
.mi { color: #ae81ff }
.mo { color: #ae81ff }
.sb { color: #e6db74 }
.sc { color: #e6db74 }
.sd { color: #e6db74 }
.s2 { color: #e6db74 }
.se { color: #ae81ff }
.sh { color: #e6db74 }
.si { color: #e6db74 }
.sx { color: #e6db74 }
.sr { color: #e6db74 }
.s1 { color: #e6db74 }
.ss { color: #e6db74 }
.bp { color: #f8f8f2 }
.vc { color: #f8f8f2 }
.vg { color: #f8f8f2 }
.vi { color: #f8f8f2 }
.il { color: #ae81ff }

原文地址:https://www.cnblogs.com/CyLee/p/9977143.html

时间: 2024-10-14 12:13:46

温故而知新 监听 XMLHttpRequest 发起请求的相关文章

简述Java中Http/Https请求监听方法

一.工欲善其事必先利其器 做Web开发的人总免不了与Http/Https请求打交道,很多时候我们都希望能够直观的的看到我们发送的请求参数和服务器返回的响应信息,这个时候就需要借助于某些工具啦.本文将采用Fiddler2作为分析工具,Fiddler很强大,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,是越墙抓包之利器.关于工具的介绍可以参考下面的链接: http://www.cnblogs.com/TankXiao/archive/2012/02

oracle监听

监听:客户端与数据库通信建立连接的时候,帮个小忙,在数据库和客户端之间建立起连接. 特点:独立性.监听是数据库独立的一个模块,它可以在数据库启动后再起监听,或者先起监听,再起数据库.监听与数据库没有太大关系. 1.先介绍两个文件 listener.ora:他是在数据库服务端建立的.他里面就是监听的ip地址和端口号.他和监听建立连接. LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.40.5)(PORT = 1

【WCF】终结点的监听地址

终结点主要作用是向客户端公开一些信息入口,通过这个入口,可以找到要调用的服务操作.通常,终结点会使用三个要素来表述,我记得老蒋(网名:Artech,在园子里可以找到他)在他有关WCF的书里,把这三要素称为“ABC”. A就是Address,就是终结点的地址:B是Binding,绑定,用于描述传输的协议.是否启用安全模式等:C是Contract,即服务协定. 一个服务协定可以由多个终结点公开,比如一个终结点可能使用HTTP协议,另一个则使用TCP等. WCF是否真的像某些人说的那么复杂难学呢?依老

C# Socket基础(一)之启动异步服务监听

本文主要是以代码为主..NET技术交流群 199281001 .欢迎加入. //通知一个或多个正在等待的线程已发生事件. ManualResetEvent manager = new ManualResetEvent(false); 1 //负责监听的套接字 private Socket socketServer; 2 /// <summary> 3 /// 启动服务 4 /// </summary> 5 private void CreateSocketService() 6 {

Spring Boot实现一个监听用户请求的拦截器

项目中需要监听用户具体的请求操作,便通过一个拦截器来监听,并继续相应的日志记录 项目构建与Spring Boot,Spring Boot实现一个拦截器很容易. Spring Boot的核心启动类继承WebMvcConfigurerAdapter // 增加拦截器 @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new RequestLog()); } //这

Server是如何完成针对请求的监听、接收与响应1

Server是如何完成针对请求的监听.接收与响应的[上] Server是ASP .NET Core管道的第一个节点,负责完整请求的监听和接收,最终对请求的响应同样也由它完成.Server是我们对所有实现了IServer接口的所有类型以及对应对象的统称,如下面的代码片段所示,这个接口具有一个只读属性Features返回描述自身特性集合的FeatureCollection对象,另一个Start方法用于启动服务器. 1: public interface IServer : IDisposable 2

Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务

最近在装ORACLE的时候爆出了一个问题, Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 以前装ORACLE好多遍了网上搜了好多方法还是解决不了,最后通过自己的摸索找到了一个不显眼的原因, 打开Oracle - OraDb11g_home1/配置和移植工具/  下面的Net Manager,配置好服务名后,打开监听程序右上角选择数据库服务 一开始的数据库服务中配置是有问题的,一般一开始这个目录是空的需要自己手动添加更改,如下图一开始我的Net Ma

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务解决

问题:Oracle主服务和监听器服务已经启动,使用SQL Plus能够正常连接,使用PL SQL Developer连接报次错误:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务.如图: 解决: 打开H:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN(不同机器目录可能不同)目录下的listener.ora文件,发现此文件内容如下: #listener.ora Network Configuration File: H:\Ora

ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

今天用PL/SQL连接虚拟机中的Oracle数据库,发现报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,也许你也遇到过,原因如下: oracle安装成功后,一直未停止数据库(即数据库是启动的),客户端配置成功后,应该一直不会有什么问题. 有时把Oracle安装在虚拟机中,而且Oracle安装完毕后,没在进行任何监听的配置,则虚拟机再启动,则就会出现ORA-12514的问题. 如下是解决思路: 根据出错信息判断出客户端未监听到实例服务名 1.通过重启服务的方式启动