You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从CMD向Node.js服务器发送数据?

如何通过CMD登录脚本向Node.js服务器上报用户与设备信息

当然可以实现!我来给你一步步拆解具体方案,不管你用批处理(.bat/.cmd)还是PowerShell登录脚本,都能轻松把用户和设备信息上报到你的Node.js服务器。

第一步:搭建Node.js接收服务器

我推荐用Express框架来快速实现接收上报的接口,它轻量且容易上手:

  1. 先初始化Node.js项目并安装Express:
mkdir login-report-server && cd login-report-server
npm init -y
npm install express
  1. 创建server.js文件,写入以下代码:
const express = require('express');
const fs = require('fs');
const app = express();
const port = 3000;

// 解析JSON格式的请求体
app.use(express.json());

// 处理登录上报的接口
app.post('/report-login', (req, res) => {
  const { username, deviceName } = req.body;
  
  // 打印上报信息到控制台
  console.log(`[${new Date().toLocaleString()}] 登录上报:用户=${username},设备=${deviceName}`);
  
  // 可选:把数据写入日志文件持久化
  const logLine = `${new Date().toISOString()} - 用户:${username},设备:${deviceName}\n`;
  fs.appendFileSync('login-logs.txt', logLine, 'utf8');
  
  // 返回成功响应给客户端
  res.status(200).send('上报成功');
});

// 启动服务器
app.listen(port, () => {
  console.log(`上报服务器已启动,监听端口:${port}`);
});
  1. 启动服务器:
node server.js

第二步:编写登录脚本(CMD/PowerShell)

根据你公司登录脚本的类型,选择对应的实现方式:

方式一:批处理脚本(.bat/.cmd)

Windows 10及以上系统默认自带curl命令,直接用它发送POST请求:

@echo off
:: 获取当前登录用户和设备名称
set "CURRENT_USER=%username%"
set "DEVICE_NAME=%computername%"

:: 发送上报请求到Node.js服务器
curl -X POST ^
  http://你的服务器IP地址:3000/report-login ^
  -H "Content-Type: application/json" ^
  -d "{\"username\":\"%CURRENT_USER%\",\"deviceName\":\"%DEVICE_NAME%\"}"

方式二:PowerShell脚本

如果你的登录环境支持PowerShell,这种方式更适合处理含特殊字符的用户名/设备名:

# 获取系统环境变量中的用户和设备名
$username = $env:USERNAME
$deviceName = $env:COMPUTERNAME

# 构造请求体并转为JSON格式
$requestBody = @{
    username = $username
    deviceName = $deviceName
} | ConvertTo-Json

# 发送POST请求到服务器
try {
    Invoke-RestMethod -Uri "http://你的服务器IP地址:3000/report-login" -Method Post -Body $requestBody -ContentType "application/json"
    Write-Host "登录信息上报成功"
} catch {
    Write-Host "上报失败:$_"
}

关键注意事项

  • 网络可达性:确保所有客户端电脑能访问到你的Node.js服务器(同一局域网内用内网IP,公网环境用域名/公网IP)
  • 防火墙配置:服务器端需要开放对应的端口(比如示例中的3000),避免被防火墙拦截
  • 加密传输:如果涉及敏感信息,建议配置HTTPS(给服务器添加SSL证书,请求改用https://)
  • 脚本容错:在登录脚本中添加错误处理逻辑,避免因网络问题导致登录流程卡住

内容的提问来源于stack exchange,提问作者Patrick Langkau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 08:12:41