使用javascript/jquery跟踪浏览器发送的http请求

使用javascript/jquery跟踪浏览器发送的http请求,javascript,jquery,httprequest,Javascript,Jquery,Httprequest,使用javascript或jquery,是否有方法跟踪网页发送的http请求(包括标题、参数等)?我想要实现的功能类似于谷歌Chrome开发者控制台的“网络”选项卡。我找到的所有解决方案要么是跟踪Ajax请求,要么是使用javascript(使用XMLHttpRequest对象)发出的请求。此功能还应与跨浏览器兼容。您有三种选择 确保您知道可以触发请求的所有位置,并将事件附加到该位置,例如RequestFired。并将onRequestFired事件绑定到JavaScript/jQuery代码中

使用javascript或jquery,是否有方法跟踪网页发送的http请求(包括标题、参数等)?我想要实现的功能类似于谷歌Chrome开发者控制台的“网络”选项卡。我找到的所有解决方案要么是跟踪Ajax请求,要么是使用javascript(使用XMLHttpRequest对象)发出的请求。此功能还应与跨浏览器兼容。

您有三种选择

  • 确保您知道可以触发请求的所有位置,并将事件附加到该位置,例如
    RequestFired
    。并将
    onRequestFired
    事件绑定到JavaScript/jQuery代码中

  • 浏览Network Developers文档或每个浏览器,并基于浏览器执行它。此功能在旧浏览器(如Internet Explorer 7和8)中可能不可用

  • 如果是针对特定服务器,请使用服务器端脚本读取服务器日志,并使用端点访问它。您可以使用长轮询方法并获取日志的内容,方法如下:

    //jQuery
    $(文档).ready(函数(){
    setInterval(函数(){
    $(“#log”).load(“/path/to/endpoint.log”);
    }, 5000);
    });
    
    
    日志
    
    您无法跟踪所有内容

    例如,Xmlhttprequest中的一些调用是透明的(301 HTTP代码),不能由javascript客户端处理

    请参阅XMLHTTrequest规范:

    这是其他几个原因之一。如果您想跟踪“网页”的请求,最好使用该浏览器的开发工具或数据包捕获工具


    在用户体验方面,您只能做非常有限的事情

    如果您使用类似的框架实现一个单页web应用程序,则可以这样做。在那里,您可以使用HTTP来实现这一点


    除此之外,您只能跟踪Ajax请求,而不能跟踪JavaScript请求。

    作为扩展还是作为在浏览器中运行的代码?浏览器中运行的代码将无法访问该请求。您可以使用console将请求签入浏览器。请按F12键并单击“网络”选项卡。现在重新加载页面,您可以看到所有请求和响应。一旦ajax启动,您还可以看到ajax请求和响应。实际上,我想要的只是一个javascript函数来实现这一点。不是分机。我只需要跟踪包含此javascript文件的网站发送的请求。@tibzon查看我的第一条和第三条路!