2009-09-21 13 views
32

Come si analizzano le stringhe di user-agent? Sto cercando di ottenere:Esiste un database di user-agent online?

  • Browser
  • Browser Versione
  • OS
  • OS Versione

da una stringa user agent. La mia app è scritta in perl e utilizzava in precedenza HTTP::BrowserDetect. È un po 'datato e non è più mantenuto. (Modifica: da allora è stato aggiornato.) Non sono in alcun modo legato all'uso di perl per la ricerca effettiva.

Sono giunto alla conclusione che l'analisi automagica è una causa persa. Stavo pensando di scrivere un'app tipo crud per mostrarmi un elenco di UA non classificati e mantenerli manualmente aggiornati.

Esiste già una risorsa del genere a cui posso attingere? Sarebbe fantastico se potessi fare una chiamata HTTP per cercare le informazioni su user-agent.

Grazie!

+0

Sei alla ricerca per i telefoni cellulari? Se è così, c'è deviceatlas.com ... se no, ignorare :) –

+0

Ho integrato molti database online in questo livello di astrazione, forse puoi usarli per confrontarli https://github.com/ThaDafinser/UserAgentParser #providers – ThaDafinser

risposta

19

useragentstring.com dispone di informazioni sul browser e sul sistema operativo per le stringhe dell'agente utente. C'è anche una casella 'analizza' per inviare la tua stringa. Non so quanto sia facile collegarsi automaticamente, ma sembra avere le informazioni che desideri.

Aggiornamento dal pubblicare originale (non voglio rubare i vostri upvotes):

ho ottenuto questo ritorno da l'autore di http://useragentstring.com/:

Ho una semplice API, ma io' m per circa ricodificare un sacco del mio sito, quindi potrebbe cambiare nel prossimo futuro. Se si collega al mio sito, è possibile inviare un useragentstring in un campo di modulo o in querystring con il nome 'UAS':

http://www.useragentstring.com/?uas=Opera/9.70%20(Linux%20i686%20;%20U;%20en-us)%20Presto/2.2.0

questo automaticly analizzare la stringa . se si aggiunge & getText = tutti

http://www.useragentstring.com/?uas=Opera/9.70%20(Linux%20i686%20;%20U;%20en-us)%20Presto/2.2.0&getText=all

si otterrà un file di testo con i principali coppie di valori come agent_type = Browser; agent_name = Opera; agent_version = 9,70 ...

+0

Ho inviato una e-mail all'autore per vedere se posso interrogare il suo servizio, o scaricare un database statico. Sembra il migliore finora. –

+0

Questo sito sembra essere sparito. – leech

+0

Non contiene informazioni su eventuali versioni recenti di Windows e le mostra come Windows NT. – brablc

4

Sì.

+1

-1 Questo non analizza le versioni/i sistemi operativi e non ci sono corrispondenze per nessuno dei record nel mio database. –

+0

Hai provato Google Analytics? Non farà bot e spider che non elaborano javascript, ma avrai quasi tutti gli utenti umani monitorati. – Asaph

3

I stava cercando un elenco ricercabile di UA. user-agents.org è ricercabile, ma non ha abbastanza dati. Ho trovato http://www.botsvsbrowsers.com/. È ingombra di pubblicità, ma c'è una barra di ricerca sul lato destro che era esattamente che stavo cercando.

0

È possibile utilizzare http://botopedia.org. Offre anche la convalida IP che aiuta a prevenire lo spoofing.

3

funzionalità del browser Progetto

Il file Browscap.ini è un database che fornisce un sacco di dettagli circa i browser e le loro capacità, come il nome, le versioni, supporto JavaScript e così via.

browscap.ini, che fornisce molti dettagli sui browser e loro funzionalità, come il nome, le versioni, il supporto Javascript e quindi su.

get_browser nativa di PHP() funzione analizza il file e si fornisce con una serie completa di informazioni sui dettagli di ogni browser, ma richiede il percorso del file Browscap.ini da specificare nel BrowsCap php.ini direttiva contrassegnata come PHP_INI_SYSTEM.

http://browscap.org/

+1

Ho trovato che vale la pena usare solo la versione "lite" di browscap, gli altri due file più grandi aggiungono troppo overhead. La mia soluzione è iniziare con browscap lite .ini, che ha successo circa il 95% delle volte, e se non funziona (get_browser() restituisce "defaultProperties"), quindi usa un servizio API online come [whatismybrowser] (https : //github.com/whatismybrowser/api-sample-php-5) – birchy

+0

È la soluzione migliore che ho visto finora. –

0

Dal momento che avete inviato la tua domanda, HTTP::BrowserDetect da allora è stato aggiornato. Una volta installato, ecco come si potrebbe usare per analizzare un file di testo di stringhe User-agent:

cat user_agent_strings.txt | perl -nE 'use HTTP::BrowserDetect; $ua = HTTP::BrowserDetect->new($_); say $ua->browser_string || "unknown";' 
1

Abbiamo un enorme database di user agent, organizzata da Software, sistema operativo, piattaforma, Tipo di hardware, tipo software e motore di rendering:

https://developers.whatismybrowser.com/useragents/explore/

Tutti gli altri annunci user agent fare una media abbastanza il compito di rendere più semplice la consultazione dei programmi utente correlati, così quando ho creato questo elenco, renderlo facile per gli utenti è stata una delle principali priorità alla base del suo design.

È anche possibile iscriversi all'API gratuita che consente di accedere al nostro parser dell'agente utente.

https://developers.whatismybrowser.com/api/

Problemi correlati