如何在 Node.js 中从 URL 进行请求

2023-12-08

是否有标准方法要求 Node 模块位于某个 URL(而不是本地文件系统上)?

就像是:

require('http://example.com/nodejsmodules/myModule.js');

目前,我只是将文件提取到临时文件中,并要求这样做。


您可以使用获取模块http.get方法并在沙箱中执行它使用vm模块方法在此上下文中运行 and 在新上下文中运行.

Example

var http = require('http')
  , vm = require('vm')
  , concat = require('concat-stream'); // this is just a helper to receive the
                                       // http payload in a single callback
                                       // see https://www.npmjs.com/package/concat-stream

http.get({
    host: 'example.com', 
    port: 80, 
    path: '/hello.js'
  }, 
  function(res) {
    res.setEncoding('utf8');
    res.pipe(concat({ encoding: 'string' }, function(remoteSrc) {
      vm.runInThisContext(remoteSrc, 'remote_modules/hello.js');
    }));
});

IMO,在没有其他选择的情况下,在服务器应用程序运行时内执行远程代码可能是合理的。并且仅当您信任远程服务和之间的网络时。

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

如何在 Node.js 中从 URL 进行请求 的相关文章

随机推荐

  • 可以在单个 Windows 服务中托管多个 WCF 进程吗?

    我有一个托管在 Windows 服务中的 WCF 进程 我想知道是否可以安全地让多个 WCF 进程在同一个 Windows 服务中托管执行不同的操作 我需要担心端口吗 我正在使用 mex 端点 编辑 所以似乎正在修剪我冗长的代码 配置示例
  • 从 HList 中提取 FieldType 键和值

    我想提取一个头部的键和值HList使用这两种方法 def getFieldName K V value FieldType K V implicit witness Witness Aux K K witness value def get
  • 子集总和查找所有子集之和等于一个数字

    我一直在学习动态规划 我想通过打印出所有加起来等于一个数字的子集来进一步解决经典的子集和问题 我到底该怎么做呢 到目前为止 我知道如何根据是否存在相加的子集来打印 true 或 false public static boolean has
  • 解决包冲突

    假设我们有一个名为com example1含有一个Hello类 以及其他类 然后我们还有另一个包com example2还含有一个Hello类 显然具有不同的行为 现在假设我们需要 com example1 中的每个类和 com examp
  • 可以先为 ASP.Net 或 ASP.Net MVC 站点创建 HTML 吗?

    首先为 ASP Net 或 ASP Net MVC 站点编码 HTML 然后将其交给编码人员 这样可行吗 如果没有 整合这些的最佳方法是什么 这是绝对可以接受的 这是 MVC 的伟大之处之一 创建您的 HTML 和 CSS 让开发人员在动态
  • 如果我不打算返回任何内容,我应该使用像map和filter这样的数组方法吗?

    去年我一直在使用数组方法 例如map and filter更常见的是代替数组上的标准 for 循环 它感觉更容易阅读和编写 并且可以完成我最有可能要做的所有事情 例如创建局部变量 但很多时候我不会返回任何东西 不过埃斯林特不太喜欢我 据他们
  • 返回传递给函数的所有参数的总和

    一种方法是使用参数 我可以循环参数数组并返回所有传递的参数的总和 function sum var sum 0 for var i 0 i
  • Android Studio 与实验性 gradle 0.2.0

    我正在尝试使用最新版本的 android studio 设置基本的 ndk 构建 试图跟随本教程 这是我的gradle wrapper properties Thu Sep 17 14 22 34 CST 2015 distribution
  • 加入线程:“避免资源死锁”

    我使用一个 C 类来封装升压 asio io service class IoService public static IoService getInstance static IoService instance return inst
  • 从 xstream 反序列化 xml 文件

    我正在使用 Xstream 序列化 Job 对象 看起来工作正常 但反序列化时 我遇到了一个问题 Exception in thread main com thoughtworks xstream io StreamException on
  • 在表视图外部触摸时隐藏 UITableView

    我有一个小UI表格视图加载视图时隐藏 当我点击 SHOW UIButton the UI表格视图可见myTableView hidden NO 我想隐藏UI表格视图当用户触摸其框架之外时 谢谢你的帮助 最佳方法 简单 在显示 UITable
  • 如何一次将多个 csv 文件读入 R 并知道数据来自哪个文件? [复制]

    这个问题在这里已经有答案了 我想将多个 csv 文件读入 R 并将它们组合成一个大表 然而 我需要一列来标识每行来自哪个文件 基本上 文件中的每一行都有一个唯一的标识号 但这些数字在文件之间会重复 因此 如果我将所有文件绑定到一个表中而不知
  • JavaScript 对象属性可以引用同一对象的另一个属性吗? [复制]

    这个问题在这里已经有答案了 我最近尝试创建一个像这样的对象 var carousel slider carousel1 slider panes carousel slider children length 我的目的是通过缓存结果来提高
  • 将自定义订单状态添加到 WooCommerce 管理订单列表中的过滤器菜单

    我目前正在尝试将新的快速过滤器 subsubsub 添加到 WooCommerce 管理订单列表 我有一个名为 wc test accepted 的自定义订单状态 如何将自定义订单状态的新快速过滤器添加到顶部 要在订单状态菜单过滤器中获取与
  • 使用 CSS 将 pre 元素另存为 PDF

    我制造了一个语法荧光笔我想要一个保存为 PDF 的选项 我看过这个问题 但下载它不会保留 CSS 样式 这会破坏下载突出显示文件的意义 有什么办法可以拯救我的pre元素作为 PDF 同时保留 CSS HTML pre highlighted
  • 如何在列表中放置列表项项目符号?

    你会看到我的 HTML 生成的数字 项目符号使左侧的元素看起来很难看 https i stack imgur com nAb8C jpg 我试图在 CSS 中使用边距和填充 但两者都不起作用 帮助 我希望数字显示距图像左侧至少 5 像素 A
  • Woocommerce:用户只能购买一次产品

    我可以在主题的functions php 文件中添加什么 以使用户只能购买产品一次 就像他们以前在商店购买过任何产品一样 他们将无法再次购买 我想代码看起来像这样 伪代码 并且会使用 woocommerce add cart item da
  • JSON 解析错误:意外的标识符“未定义”(React Native)

    我正在尝试使用异步存储来存储两个作为对象存储的文本输入值 并将其传递到不同的视图 在按下按钮时它们将显示在其中 正如其他 StackOverflow 帖子中提到的 我使用 JSON parse 和 JSON stringify 将对象作为
  • Xcode 签名错误无法创建配置文件并且未找到“com.photo.appwall”的配置文件

    我在签署申请时遇到问题 无法创建配置文件 未找到 com photo appwall 的配置文件 该错误消息似乎不言自明 您需要在 Apple 的开发人员门户上注册您的测试设备 登录 Apple 的开发者门户 Click Certifica
  • 如何在 Node.js 中从 URL 进行请求

    是否有标准方法要求 Node 模块位于某个 URL 而不是本地文件系统上 就像是 require http example com nodejsmodules myModule js 目前 我只是将文件提取到临时文件中 并要求这样做 您可以