检查 HTTP 请求是否来自 phone 或 PC
Check if an HTTP request came from a phone or a PC
我想检查 HTTP 请求是来自 phone 还是电脑,以便我知道要发回什么 HTML 文件。我怎么做?
我正在使用快递。这是我的 nodeJS 服务器代码:
var express = require("express");
var fs = require("fs");
var server = express();
server.use("/Static", express.static('./Static/'));
server.get("/", (req, res) => {
res.send(fs.readFileSync("./main.html", "utf8"));
});
server.listen(8001);
我发现这个模块有点用完了。 PFB示例代码。
var express = require('express');
var app = express();
var device = require('express-device');
app.use(device.capture());
app.get('/hello',function(req,res) {
console.log(req.device);
res.send("Hi to "+req.device.type.toUpperCase()+" User");
});
app.listen(3000);
console.log("Listening to Port 3000");
你可以通过阅读User Agent请求headers来查看,如下
function testDevice(req, res) {
console.log(req.headers)
if (req.header('user-agent').indexOf('Mobile') != -1) {
console.log('You are using mobile device');
} else {
console.log('this is probably a computer');
}
}
您将从 PC 和移动设备获得不同的 User Agent header 值。
- 对于 PC,你会得到这样的东西:
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36',
- 对于移动设备,您将获得如下信息:
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
我想检查 HTTP 请求是来自 phone 还是电脑,以便我知道要发回什么 HTML 文件。我怎么做? 我正在使用快递。这是我的 nodeJS 服务器代码:
var express = require("express");
var fs = require("fs");
var server = express();
server.use("/Static", express.static('./Static/'));
server.get("/", (req, res) => {
res.send(fs.readFileSync("./main.html", "utf8"));
});
server.listen(8001);
我发现这个模块有点用完了。 PFB示例代码。
var express = require('express');
var app = express();
var device = require('express-device');
app.use(device.capture());
app.get('/hello',function(req,res) {
console.log(req.device);
res.send("Hi to "+req.device.type.toUpperCase()+" User");
});
app.listen(3000);
console.log("Listening to Port 3000");
你可以通过阅读User Agent请求headers来查看,如下
function testDevice(req, res) {
console.log(req.headers)
if (req.header('user-agent').indexOf('Mobile') != -1) {
console.log('You are using mobile device');
} else {
console.log('this is probably a computer');
}
}
您将从 PC 和移动设备获得不同的 User Agent header 值。
- 对于 PC,你会得到这样的东西:
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36',
- 对于移动设备,您将获得如下信息:
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',