当前位置: 首页 > 知识库问答 >
问题:

在使用Express-Session设置的服务器上,我可以在哪里看到Set Cookie标头?

郝永思
2023-03-14

在postman中,当我向服务器发出请求时,我会得到以下响应头:

如何在Express中查看这些标题?我在res.send('hey')之前暂停了这个请求的服务器,但我得到的只有一个标题:

res.getHeaders()
{x-powered-by: 'Express'}

我特别希望看到服务器发送到浏览器的cookie。如何在调试时查看express中的所有响应标头?

const express = require('express');
const session = require('express-session');

const app = express();

app.use(
  session({
    secret: 'very secret 12345',
  })
);

app.use(async (req, res, next) => {
  req.session.visits = req.session.visits ? req.session.visits + 1 : 1;
  console.log(`${req.method}: ${req.path}`);
  console.log('req.headers.cookie: ', req.headers.cookie);
  next();
});

app.get('/sayhi', (req, res, next) => {
  res.send('hey');
});

app.listen(4001).on('listening', () => {
  console.log('info', `HTTP server listening on port 4001`);
});

共有1个答案

麹飞航
2023-03-14

因为content-typeset-cookieheader是在调用res.send()之后设置的,所以您需要添加事件侦听器,以便在响应关闭时侦听。
然后您可以看到这个响应有哪些头。
但是,它是响应发送后的回调函数,所以您只能查看这个响应中发送的值。

app.get('/sayhi', (req, res, next) => {
    res.on("close", function() {
        console.log("====== close event =======");
        console.log(res.getHeaders());
        console.log("====== close event =======");
    })
    res.send('hey');
});

顺便说一下,您还可以使用debug=*node your_server.js查看其他库实现的调试消息。

 类似资料:
  • 我想看一下 SQL 标准中的内容 然后我去谷歌搜索了一下 chatGPT 给我的关键字 但是出来的结果,貌似都是和某一款 DB 具体实现相关,而不是一个通用的 sql 标准

  • 对于Windows Vista和Windows 7,请运行: keytool-list-v-keystore“C:\users\your_user_name.androiddebugkey-storepass android-keypass android” 但是我不明白我应该在Windows中的哪里运行这个试验?

  • 我正在尝试在MAMP php中安装pecl_http。我得到以下错误。 grep:/Applications/MAMP/bin/php/php5。5.10/include/php/main/php。h:没有这样的文件或目录 grep:/Applications/MAMP/bin/php/php5。5.10/include/php/Zend/Zend_模块。h:没有这样的文件或目录 grep:/Ap

  • 我使用的是一个从jar实现Serializable的类,为了确保不会出现编译器相关的问题,我给了它一个serialVersionUID私有静态final long serialVersionUID=123L; 然后我重新创建了jar,但现在当我在新jar中使用类时,它给了我一个例外: invalidClassException:com.placeiq.piqhash.piqdeviceID;本地类

  • 我知道他们读了很多很多书,他们一直在说同样的话。根节点没有任何父节点,只有子节点。 如果我只有舞台和场景,但没有节点,默认情况下我还会有根节点吗

  • 我使用的是OS X 10.10。当尝试与我们团队的私有docker注册表通信时,它不断给我这样的错误: 在Ubuntu系统上,可以通过将添加到配置文件中来解决此错误,如下所示: Mac OS是否有类似的配置文件,可以在其中添加选项?