In che modo i siti Web scoprono quale browser li sta visitando
-
06-07-2019 - |
Domanda
In che modo i siti Web scoprono quale browser li sta visitando
come posso farlo
Stai dando una risposta per asp.net c #
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.