如何更改请求中的客户端信息 header (User-Agent)?

How to change the client informations in the request header (User-Agent)?

我是使用 MEAN-JS 进行网络开发的新手,我正在尝试创建多个 iframe 以针对不同的网络浏览器显示同一网站(例如,查看 ie7 和 9 之间的区别) ,所以我尝试编辑我的 User-Agent 字符串,但这不起作用。

无法更改浏览器从客户端代码发送的 User-Agent header。实现这一目标的唯一方法是通过服务器端代码代理请求。您还必须修改任何测试 User-Agent 的 JavaScript(由站点编辑 return)以覆盖它。

但是,更改 User-Agent header 不会向您显示该网站在不同浏览器中的外观。虽然它可能会导致网站 return 略有不同 HTML/JS/CSS(但可能不会因为现在使用用户代理检测的人不多),IE7 和 IE9 是 不同的软件 他们对 HTML/JS/CSS 的解释不同。

测试网站在 IE7 中的外观的唯一方法是在 IE7 中实际打开它。

是的,在服务器端是可能的(MEAN-JS 中的 E、N),使用 request module 更容易,您只需在通用的选项对象中指定用户代理字符串拦截来自您网站的任何请求并测试它是对图像(位文件)还是纯文本的请求。
您可以在此 link:User Agent String.Com 中找到您想要的用户代理字符串
像这样:

app.get('*', function (req, res){
        req.headers["user-agent"] = ‘YOUR USER AGENT STRING’;
        var options = {
            url: req.path,
            headers: {'user-agent':req.headers['user-agent'],
                        'accept':req.headers.accept,
            }
        };
        if ( /image\//.test(req.headers.accept)){
            options.encoding= null;}
        request(options, function (error, response, body) {
            if (!error && response.statusCode == 200) {
                res.set(
            response.headers

            );
                res.send(body);

            }
            else {
                console.log('request error: ' + JSON.stringify(error));
                res.redirect('/');
            }
        });
    });