【问题标题】:Add custom headers to 'request'将自定义标头添加到“请求”
【发布时间】:2016-11-14 21:48:37
【问题描述】:

我正在通过我的快速配置中的以下设置代理我的 api

  // Proxy api calls
  app.use('/api', function (req, res) {
    let url = config.API_HOST + req.url
    req.pipe(request(url)).pipe(res)
  })

config.API_HOST 在这里解析为我的 api url,req.url 是某个端点,即/users 我尝试在 npm 上为request 遵循文档并像这样设置我的标题

  // Proxy api calls
  app.use('/api', function (req, res) {
    let options = {
      url: config.API_HOST + req.url,
      options: { 'mycustomheader': 'test' }
    }
    req.pipe(request(options)).pipe(res)
  })

但我无法在网络下的 chrome 开发工具中看到我的自定义标头。

【问题讨论】:

    标签: node.js api express header request


    【解决方案1】:

    能够以这种方式实现它

      app.use('/api', function (req, res) {
        let url = config.API_HOST + req.ur
        req.headers['someHeader'] = 'someValue'
        req.pipe(request(url)).pipe(res)
      })
    

    【讨论】:

    • 所以当你向/api发出一个get请求时,它会被发送一个带有'someValue'值的'someHeader'标头?
    • 这对我也有用。我尝试使用 res.setHeader 设置标题,但它不起作用。 req['token] = "some_token" 有效。我想知道它是否安全..
    【解决方案2】:

    由于一些奇怪的原因,req.setHeader('someHeader', 'somValue') 对我不起作用。

    但是req.headers['someHeader'] = 'someValue' 这行得通

    【讨论】:

    • req 没有“setHeader”功能。 “setHeader”函数仅存在于res 对象上。
    猜你喜欢
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 2013-11-13
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多