|James Mills d249fe7921||2 weeks ago|
|.drone.yml||2 weeks ago|
|COPYING||7 years ago|
|README.md||2 weeks ago|
|browser.go||2 weeks ago|
|crawler.go||5 years ago|
|go.mod||2 weeks ago|
|go.sum||2 weeks ago|
|lex.go||5 years ago|
|lex_test.go||5 years ago|
|parse.go||2 weeks ago|
|parse_test.go||2 weeks ago|
User agent parsing
First install the library with:
go get git.mills.io/prologic/useragent
See godoc for the complete documentation.
How it works?
Lasciate ogne speranza, voi ch'intrate. -Dante
Parsing user agent strings is a hell. There is no standard for user agent strings, so useragent must use some heuristics. The site http://www.useragentstring.com/ has been invaluable during development. Some relevant links are also:
for the supported user agents see:
If you think useragent doesn't parse correctly a particular user agent string, just open an issue :).
Why this library?
useragent doesn't just split the user agent string and look for specific strings like other parsers, but it has specific parser for the most common browsers/crawlers and falls back to a generic parser for everything else. Its main features are:
- Simple and stable API.
- High precision in detection of the most common browsers/crawlers.
- Detects mobile/tablet devices.
- OS detection.
- URL with more information about the user agent (usually it's the home page).
- Security level detection when reported by browsers.
- useragent was written by Alexandru Cojocaru and uses blang/semver to parse versions.
- Modified by James Mills to support Go111Modules and provide a more reliable method of installing the package.
useragent is released under the GPLv3 or later, see COPYING.