debugging 监视网络请求URL和响应内容(引发自定义异常)

zzzyeukh  于 2022-11-14  发布在  其他
关注(0)|答案(2)|浏览(138)

如何监视和评估网络请求的请求URL、参数、请求和响应数据?

所需解决方案

如果请求或响应中出现特定内容,我希望收到通知或获得自定义异常。

示例

假设一个Web应用程序有很多动态 AJAX 请求,一个请求或响应可能包含一个不完整的值,例如undefined
请求URL:

http://localhost:8080/app/?undefined=1

响应JSON数据:

{"undefined":"1"}

次尝试

  • 无法在开发工具中筛选请求内容
  • PostMan测试似乎不可行(例如,无用户交互)

尚未尝试/找到

猜测什么可能有效...

  • 拦截请求和日志/警报详细信息的软件
  • 通过某个独立应用程序代理操作系统上的任何URL
9rbhqvlz

9rbhqvlz1#

如果导入axios,您可以利用自定义拦截器:

// Add a response interceptor
axios.interceptors.response.use(function (response) {
    // Any status code that lie within the range of 2xx cause this function to trigger
    // Do something with response data
    return response;
  }, function (error) {
    // Any status codes that falls outside the range of 2xx cause this function to trigger
    // Do something with response error
    return Promise.reject(error);
  });

// Similar functionality can be achieved for request
axios.interceptors.request.use(function (config) {
    // Do something before request is sent
    return config;
  }, function (error) {
    // Do something with request error
    return Promise.reject(error);
  });
hs1rzwqc

hs1rzwqc2#

代理软件

对于这种情况,任何具有日志记录功能的代理都可以使用,或者可以扩展:

隧道
向域公开localhost以进行测试:

使用日志记录功能获取请求详细信息:

  • https://ngrok.com/docs/ngrok-agent/api#list-requests

本地主机与127.0.0.1

localhost最好成为127.0.0.1或自定义开发域。在MacOS上,localhost不支持HTTP拦截器浏览器插件。

相关问题