【问题标题】:Express.js Find URL of client consuming REST APIExpress.js 查找使用 REST API 的客户端的 URL
【发布时间】:2020-10-21 14:32:31
【问题描述】:

可以说,我有一个服务器运行在:https://example.com 服务端代码:

const express = require("express");
const app = express();

app.get('/',(req, res)=>{
  let data = {'Hello':'World'}
  res.json(data);
});

app.post('/',(req, res)=>{
  let name = req.body.name;
  let email = req.body.email;
  res.json({name, email});
});

app.listen(3000);

现在,有一个客户端:https://website.com,试图通过发出 GETPOST 请求来访问服务器响应。 (No API key is required)

服务器如何找到客户端的网址? 在这个例子中,我希望服务器 (example.com) 确定客户端的 URL (website.com) 并将其保存在数据库中。 req.hostname() 没有给出想要的输出..

【问题讨论】:

标签: node.js rest express


【解决方案1】:

req.hostname 是你要找的。​​p>

更新:

重新阅读您的问题后,我认为您想要的是识别cross-origin requests,您应该使用Origin 标头。

var origin = req.get('origin');

请注意,某些跨域请求需要通过 "preflight" request 进行验证:

req.options('/route', function (req, res) {
    var origin = req.get('origin');
    // ...
});

【讨论】:

  • 它会给我example.com,但我想要website.com
  • 我已经更新了我的答案,请看看这是不是你要找的
  • 谢谢 Tudor,这就是我想要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-22
  • 2017-05-07
  • 2018-09-06
  • 1970-01-01
  • 2017-08-11
  • 1970-01-01
相关资源
最近更新 更多