Domanda

In che modo i siti Web scoprono quale browser li sta visitando

come posso farlo

Stai dando una risposta per asp.net c #

È stato utile?

Soluzione

Il browser indica al server che tipo di browser è nella stringa User-Agent, che include con ogni richiesta HTTP.

Puoi accedere direttamente all'Utente-Agente e analizzarlo tu stesso, oppure puoi utilizzare la funzionalità di browser integrata di ASP.NET, che si basa su diversi file * .browser, espressioni regolari, ecc.

User-Agent: <%= Request.UserAgent %>
ID: <%= Request.Browser.Id %>
Browser: <%= Request.Browser.Browser %>
Type: <%= Request.Browser.Capabilities["type"] %>

Altri suggerimenti

Cercano l'agente utente passato nella richiesta.

In ASP.NET:

Request.ServerVariables [" HTTP_USER_AGENT "]

Il protocollo HTTP fornisce un attributo intestazione richiesta chiamato User-Agent che il client (qui i browser Web) inserisce con una stringa che identifica la marca, la versione e il sistema operativo del browser. Come tutti gli elementi dell'intestazione HTTP, questa informazione potrebbe anche essere "falsificata". o modificato per vari scopi (ad esempio da vari gateway per la privacy sul lato client e simili), ma di solito è relativamente affidabile.

Un esempio di tale stringa User-Agent è (qui per un browser FireFox, Versione 3.5, in esecuzione su Windows XP)

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5

Queste informazioni, insieme ad altri attributi dell'intestazione, possono essere interrogati dall'applicazione ricevente. Sebbene le specifiche variano da una lingua / struttura alla successiva, queste lingue / cornici possono esporre un semplice modello a oggetti che rispecchia i vari oggetti associati al protocollo HTTP. Nel caso dell'intestazione http, questo in genere proviene da " Request " (potrebbe essere chiamato in modo diverso), quindi l'accesso all'Utente-Agente potrebbe essere simile a:

  ClientBrowser = Request.Header("User-Agent")

o possibilmente

  ClientBrowser = HttpHeader.UserAgent

Modifica : nel caso di C # / ASP.NET (modifica tardiva della domanda):

ClientBrowser = Request.ServerVariables("HTTP_USER_AGENT")

Inoltre, anche se potresti essere tentato di utilizzare queste informazioni direttamente, puoi anche fare affidamento su varie librerie che incapsulano i dettagli dell'analisi delle stringhe [moltissime versioni di] User-Agent per capire dal particolare browser web e persino dalle particolari forme di javascript che tale client dovrebbe essere inviato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top