我正在为节点编写的应用程序构建一个小型开发人员工具(HUD).在该工具中,我想要显示为了提供该页面而生成的所有HTTP/HTTPS请求(将它们显示给开发人员并记录他们的号码).有没有干净的方法这样做,这不涉及包装类似的东西http.request()?如果没有,为了记录HTTP和HTTPS,需要包装的最低级别方法是什么?TCP连接怎么样?
答案取决于代码的复杂程度.如果您对每个请求发出3或4个外部资源请求,只需手动插入分析代码,就可能是最简洁,最简单的解决方案.
如果你发出许多请求,猴子修补(包装)http.request,https.request可以很容易地完成.
patcher = (patchMe) ->
original = patchMe.request
patchMe.request = (options, callback) ->
console.log options.host, options.method # or any other counting, profiling
original(options, callback)
http = require 'http'
https = require 'https'
patcher(http)
patcher(https)
Run Code Online (Sandbox Code Playgroud)
如果你想补丁超过那些请求,在tcp/udp级别,你不幸的是必须阅读源来找出你可以修补的底层方法,我还没有去过那里.
我喜欢阅读nodetime的源代码,这些require函数可以修补函数,以便对代码中更深层次的特定函数/模块的任何使用进行分析.去读那个来源吧!:)
| 归档时间: |
|
| 查看次数: |
3631 次 |
| 最近记录: |