2016-09-30 3 views
0

Мне нужна помощь в получении информации о браузере пользователей, IP-адресе и местоположении GEO. Мы разрабатываем приложение asp.net, которое требует вышеуказанной информации для отслеживания информации пользователя, откуда он/она обращается к приложению с информацией браузера/IP. Ниже приведены данные, которые нам требуются, и их необходимо хранить в базе данных приложений.Как получить информацию о браузере пользователя, IP-адрес и информацию о местоположении?

  1. Информация браузера/версия
  2. Операционная система
  3. Device (Desktop/ноутбук/Tablet/Mobile)
  4. IP адрес
  5. Название страны код/​​страна
  6. Город
  7. Регион

Возможно ли получить всю информацию из источника? Я позаимствовал их и посоветовал использовать сторонние API для получения геоинформации на основе IP-адреса, являются ли API надежными для использования приложений. Есть ли лучший способ создать собственный API для получения этой информации и как? Пожалуйста посоветуй.

+1

Некоторая необходимая информация доступна в объекте 'navigator'. Разрешение отслеживания геолокации зависит от предпочтений пользователя, IP-обнаружение может выполняться только на стороне сервера. – Teemu

+0

navigator.geolocation будет запрашивать у пользователя разрешение, когда мы получаем информацию и не поддерживаем старые браузеры. – Adhith

ответ

1

Попробуйте ниже javascript функцию, это вернет имя браузера и версию браузера.

function get_browser() 
{ 
    var ua = navigator.userAgent, tem, 
    M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) ||[]; 

    if (/trident/i.test(M[1])) 
    { 
     tem = /\brv[ :]+(\d+)/g.exec(ua) || []; 
     return { name: 'IE', version: (tem[1] || '') }; 
                 } 
     if (M[1] === 'Chrome') 
     { 
      tem = ua.match(/\bOPR\/(\d+)/) 

      if (tem != null) 
      { 
       return { name: 'Opera', version: tem[1] }; 
      } 
     } 

    M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?']; 
    if ((tem = ua.match(/version\/(\d+)/i)) != null) 
    { 
     M.splice(1, 1, tem[1]); 
    } 

    return { 
     name: M[0], 
     version: M[1] 
    }; 
} 
Смежные вопросы