2014-03-24 3 views
0

У меня есть ссылка на главной странице. Когда пользователь нажимает на ссылку и загружает страницу, я хочу собрать данные агента пользователя и сохранить его в базе данных.
Node.js: Напишите в базу данных при загрузке страницы

Я знаю, что это может быть сделано легко с PHP с чем-то вроде этого:

<?php 
    mysql_connect('server', 'username', 'password'); 
    mysql_select_db('databasename'); 
    $cQuery = "insert into TRackTable (Source, Browser, Datetime) values (''" . mysql_real_escape_string(stripslashes($_GET['q'])) . "', '" . mysql_real_escape_string(stripslashes($_SERVER['HTTP_USER_AGENT'])) . "', '" . mysql_real_escape_string(stripslashes($_SERVER['REMOTE_ADDR'])) . "', now())"; 
    mysql_query($cQuery); 
    ?> 

Можно ли с узлом?
Или мне нужно собрать всю информацию и отправить запрос на узел js-сервера. Затем запишите его в базу данных.

ответ

0

Это просто, если вы используете экспресс.

Просто используйте req.headers['user-agent'] для доступа к информации агента пользователя.

Это будет легче, если вы установите UserAgent НПМ

https://github.com/biggora/express-useragent

Вот пример из GitHub Ссылка

var http = require('http') 
    , useragent = require('express-useragent'); 

var srv = http.createServer(function (req, res) { 
    var source = req.headers['user-agent'], 
    ua = useragent.parse(source); 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end(JSON.stringify(ua)); 

//ua JSON object has the user agent information that can be used to store in the DB 
}); 

srv.listen (3000);

+0

Как я могу получить пользовательский агент на стороне сервера? Страница ссылок не размещается на сервере узла. Это просто «href» на странице. –

+0

, в этом случае вам нужно будет отправить информацию на сервер node.js – Kishore

Смежные вопросы