节点“req 未定义”

2023-12-06

当我尝试启动以下脚本时:

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}).listen(8000);

var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;

console.log(ip)

我收到以下错误:

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
ReferenceError: req is not defined
    at Object.<anonymous> (/home/ubuntu/IPDeliverer/server.js:9:10)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:32)
    at Function._load (module.js:308:12)
    at Array.0 (module.js:479:10)
    at EventEmitter._tickCallback (node.js:192:41)

我的第一个猜测是,缺少一些模块,所以我安装了以下模块,如下所示:

npm install req

然后我添加了以下行

var req = require("./node_modules/req/node_modules/request");

但它仍然不起作用。有什么建议 ?


您已将请求命名为request, not req,每个回调都有它自己的request,所以像这样检查回调之外的IP是没有意义的。使用request在回调中改为:

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();

  var ip = request.headers['x-forwarded-for'] || request.connection.remoteAddress;

  console.log(ip)
}).listen(8000);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

节点“req 未定义” 的相关文章

随机推荐

  • 如何使用字符串联合填充对象类型的可选嵌套关系?

    我正在尝试创建一个Populate需要 2 个泛型的类型 具有可选关系的对象类型 引用其他对象类型的键 以及可以深度填充 或者更确切地说 设置为非可选 关系的 Path 字符串的联合 例如 有 3 个实体 它们都可以选择性地相互引用 typ
  • 将Actionbarsherlock导入到eclipse中

    有人可以告诉我如何正确导入 SherlockFragmentActivity java 和 ActionBarSherlock 文件夹的步骤吗 我不太确定如何做到这一点 并且在尝试时遇到很多错误 提取 ActionBarSherlock 项
  • javascript eval 可能会带来哪些问题

    我尝试谷歌搜索 但没有得到非常具体的答案 话又说回来 我可能没有使用正确的关键字 有人能指出 javascript eval 可能导致的 安全 问题吗 举个例子 非常好 如果您可以指向具有相同功能的现有网络资源 也可以 Edit 我只需要评
  • MS Access 在传递查询中使用表单

    我有一个名为菲茨 安特 达根 一个名为查询FietsAantDagen和一个名为Txtinput 我正在尝试使用 SQL Server 的直通查询 并使用文本表单的输入作为查询中的输入 Query SELECT Fiets id Fiets
  • 在c++/windows中获取线程状态

    必须有一个函数来获取系统中线程的当前状态 因为有这个应用程序 http www softwareverify com cpp thread status monitor index html 它必须使用某种 API 函数或其他东西 如何在
  • d3嵌套分组条形图

    首先 如果我的英语很难理解 我会尽力的 我对 D3 js 相当陌生 我正在尝试使用嵌套数据创建 D3 分组条形图 我查看了此处共享的一些解决方案 但它们仅显示一级分组 就我而言 数据将来自具有以下数据结构的 csv 文件 groups ca
  • 多次调用 Looper 会导致“向死线程上的处理程序发送消息”

    我使用 Executor 固定线程池 和我自己的 ThreadFactory 添加了 Looper Handler HANDLER new Handler Executor THREADS Executors newFixedThreadP
  • 将 boost::transform_iterator 与非常量函子一起使用

    I want to use a transform iterator to make a delta transformation on a range By delta transformation I mean that r0 shou
  • 你能将 UIImage exif 数据复制到缩放后的 UIImage 中吗?

    我目前正在用户拍照时抓取照片 void imagePickerController UIImagePickerController picker didFinishPickingMediaWithInfo NSDictionary info
  • 升级到 Worklight 6.2

    我在升级到 Worklight 6 2 时遇到问题 请找出下面的错误 ERROR transport error 202 bind failed Address already in use ERROR JDWP Transport dt
  • PHP:将字符串拆分为数组,就像不带分隔符的爆炸一样

    我有一个字符串 例如 0123456789 我需要分开each字符放入数组中 我 为了它 尝试了 explode 123545789 但它给了我明显的信息 警告 爆炸中未定义分隔符 我怎么会遇到这个 我看不到任何方法 尤其是一个函数 arr
  • 在 C# 中生成随机小数

    如何获得随机的 System Decimal System Random不直接支持 编辑 删除旧版本 这与 Daniel 的版本类似 但会给出完整的范围 它还引入了一种新的扩展方法来获取随机的 任何整数 值 我认为这很方便 注意这里小数的分
  • 用于 C++ 的基于行的线程安全 std::cerr

    创建自己的最简单方法是什么std cerr这样它是逐行线程安全的 我最好寻找代码来做到这一点 我需要的是这样a line of output 终止于std endl 由一个线程生成as a line of output当我实际在控制台上看到
  • python3导入语句的变化

    我不明白以下内容pep 0404 在 Python 3 中 包内的隐式相对导入不再 可用 只有绝对导入和显式相对导入 支持的 此外 星号导入 例如 from x import 仅 允许在模块级代码中使用 什么是相对进口 python2中还有
  • C/C++,你可以将文件#include 到字符串中吗? [复制]

    这个问题在这里已经有答案了 我有一个 C 源文件和一个 Python 源文件 我希望 C 源文件能够将 Python 源文件的内容用作大字符串文字 我可以做这样的事情 char python code include script py 但
  • Nestjs:猫鼬中子文档数组的正确模式(没有默认_id或重新定义ObjectId)

    我正在使用 Nest js 并尝试使用包含子文档字段数组的装饰器创建一个架构 我在导入 导出架构并将其转换为模型方面没有任何麻烦 直到 我在我的中收到以下错误service file 经过几个小时的谷歌搜索后 我发现真正的原因是array子
  • 为什么同一文件中的全局符号需要重新定位?

    我有一个用于测试的 C 程序 a c int a 0 static int fa local a 78 int b int c int fa global a 7777 fa local int test a 6666 fa global
  • python程序在sublime text 3中执行失败,但在bash中执行成功[重复]

    这个问题在这里已经有答案了 encoding utf 8 from future import absolute import division print function unicode literals text 我们的世界充满了未知
  • Select MAX(field)+1 FROM ... 并发问题

    您好 我担心合作伙伴应用程序的并发性 因为最近几天它在 CRUDS 操作方面遇到了麻烦 尤其是在插入方面 所以我运行 SQL Profiler 并注意到他的插入语句不使用事务 而且他正在使用 INSERT INTO TABLEA VALUE
  • 节点“req 未定义”

    当我尝试启动以下脚本时 var http require http http createServer function request response response writeHead 200 Content Type text p