【问题标题】:How to get request origin in nodejs (expressjs)如何在nodejs(expressjs)中获取请求来源
【发布时间】:2019-09-09 11:07:32
【问题描述】:

我有一个基于 nodejs 的 firebase 函数,我使用 express app 在单个 firebase 函数中创建了一个复杂的 api,如下所示:

import * as functions from 'firebase-functions';
const express = require('express');
var cors = require('cors')
const app = express();
app.use(cors({ origin: true }))

app.get('/:appId/posts/:id', (request:any, response:any) => {

    var origin = request.get('Origin'); // null
    var origin2 = request.header('Origin'); // null
    var origin3 = request.get('origin'); // null
    var origin4 = request.header('origin'); // null
    var origin5 = request.get('referer'); // null
    var origin6 = request.get('host'); // null

});

exports.api = functions.https.onRequest(app);

我需要获取请求的来源,业务逻辑取决于它。

那么,问题是:如何获取请求来源?

【问题讨论】:

  • @Subburaj,是的,我做到了。
  • @victorpacheco3107 你能交叉检查你是否通过origin
  • request.get('host'); ???
  • @DeepakMallah,我是怎么做到的?
  • @Subburaj,是的,我测试过,结果一样。

标签: node.js firebase express google-cloud-functions


【解决方案1】:

试试这个:

io.on('connection', function (socket) {
    let host = socket.handshake.headers.origin
    ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-20
    • 2016-08-01
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 2017-08-03
    相关资源
    最近更新 更多