【问题标题】:Set user agent for Node JS server为 Node JS 服务器设置用户代理
【发布时间】:2023-03-09 23:05:01
【问题描述】:

是否可以配置简单的 Node JS 服务器的用户代理?例如,我想使用 iPhone 用户代理运行我的节点服务器来模拟设备显示。不确定是否有执行此操作的 NPM 包或自定义 javascript 来操作 Node JS 服务器的用户代理。

详情:我知道express-user-agent

它只会为您提供解析功能并在您的 Express 应用中访问您当前的用户代理。

这是我的 Node JS 服务器的代码:

 var express = require('express');
 var app = express();
 var server = require('http').createServer(app);
 var io = require('socket.io')(server);
 var exec = require('child_process').exec;
 var shell = require('shelljs');

 app.use('/public', express.static(__dirname + '/public'));

 app.get('/', function(req, res,next) {
  res.sendFile(__dirname + '/index.html');
 });

 server.listen(4200);

 io.on('connection', function(client) {
  client.on('join', function(data) {
    console.log(data);
  });

 client.on('command', function(data) {
  console.log(data);
  });
 });

【问题讨论】:

    标签: javascript node.js user-agent


    【解决方案1】:

    看这个:

    var request = require('request');
    
    var options = {
      url: 'http://localhost:4200/test',
      headers: {
        'User-Agent': 'MY IPHINE 7s'
      }
    };
    
    function callback(error, response, body) {
              //do somethings
    }
    
    request(options, callback);
    

    例如,您可以将测试路由添加到您的服务器并发送获取请求。不要忘记请求的url,必须是http://localhost:4200/test,代码:

    ...
    
     app.use('/public', express.static(__dirname + '/public'));
    
     app.get('/', function(req, res,next) {
      res.sendFile(__dirname + '/index.html');
     });
    
    app.get('/test', function(req, res,next) {
      console.log(req.headers);
    });
    
    
    server.listen(4200);
    
    ...
    

    【讨论】:

    • 感谢您的回答,不胜感激。你知道我如何在我的节点 js 服务器上检查它现在正在使用自定义用户代理字符串吗?
    • 我知道我可以像 Facebook 一样请求 URI 并查看移动版本,但我使用的是 iFrame,无法做到这一点。
    猜你喜欢
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 2017-05-21
    • 2016-07-03
    相关资源
    最近更新 更多