This is a .NET porting of Java library that tries to parse and analyze the useragent string and extract as many relevant attributes as possible.
You can see the original project at this link: https://github.com/nielsbasjes/yauaa
The library has been completely rewritten in C# from scratch to be optimized and .NET friendly
A bit more background about this useragent parser can be found in this blog which the author Niels Basjes wrote about it: https://techlab.bol.com/making-sense-user-agent-string/
The Java documentation can be found here https://yauaa.basjes.nl, soon will be provided a .NET documentation specific for this project
You can download the .nuget package there: https://www.nuget.org/packages/OrbintSoft.Yauaa.NetStandard
As an example the useragent of a phone:
Mozilla/5.0 (Linux; Android 7.0; Nexus 6 Build/NBD90Z) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.124 Mobile Safari/537.36
is converted into this set of fields:
Field name | Value |
---|---|
DeviceClass | 'Phone' |
DeviceName | 'Google Nexus 6' |
DeviceBrand | 'Google' |
OperatingSystemClass | 'Mobile' |
OperatingSystemName | 'Android' |
OperatingSystemVersion | '7.0' |
OperatingSystemNameVersion | 'Android 7.0' |
OperatingSystemVersionBuild | 'NBD90Z' |
LayoutEngineClass | 'Browser' |
LayoutEngineName | 'Blink' |
LayoutEngineVersion | '53.0' |
LayoutEngineVersionMajor | '53' |
LayoutEngineNameVersion | 'Blink 53.0' |
LayoutEngineNameVersionMajor | 'Blink 53' |
AgentClass | 'Browser' |
AgentName | 'Chrome' |
AgentVersion | '53.0.2785.124' |
AgentVersionMajor | '53' |
AgentNameVersion | 'Chrome 53.0.2785.124' |
AgentNameVersionMajor | 'Chrome 53' |
You can try it online with an ASP.NET demo at this link: https://orbintsoft.net/Yauaa/Demo
Or you can download the .nuget package to it try by yourself: https://www.nuget.org/packages/OrbintSoft.Yauaa.NetStandard
Here you can also find a sample implementation project: https://github.com/OrbintSoft/yauaa.netstandard/tree/master/src/OrbintSoft.Yauaa.WebSample.AspNetCore
If you like this project or if has business value for you then don't hesitate to support me or the author.
To support the original project you can make a small donation to: Niels Basjes, Original Author
To support this porting, don't esitate to contribute to code sending a Pull request or with reporting issues
Follow here the contrubution guidlines: CONTRIBUTING.md
Otherwise a small paypal donation can also be apreciated Stefano Balzarotti, Author of porting
Don't forget to be thankful to the original author Nicolaas Basjes, because he did most of the effort.
Yet Another UserAgent Analyzer for .NET Standard
Porting realized by Balzarotti Stefano, Copyright (C) OrbintSoft
Original Author and License:
Yet Another UserAgent Analyzer
Copyright (C) 2013-2019 Niels Basjes
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.