An open API service indexing awesome lists of open source software.

https://github.com/jonaskahn/user-agents

A lightweight Kotlin library to generate random user-agents for JVM applications, enhancing anonymity in web requests.
https://github.com/jonaskahn/user-agents

java jvm kotlin scraping user-agent user-agents web-scraping

Last synced: 29 days ago
JSON representation

A lightweight Kotlin library to generate random user-agents for JVM applications, enhancing anonymity in web requests.

Awesome Lists containing this project

README

          

# user-agents

Small library random user-agent for jvm - Written in Kotlin

## update maven

```maven


one.ifelse.tools
user-agents
0.1.2


```

---

## Note

> Since v0.1.0, I switched to the new implementation, seed data now from [js version of
`user-gents`](https://www.npmjs.com/package/user-agents), but not any lines of
> code.

## Sample

```kotlin
// Kotlin example

fun main() {

RandomUserAgent.random()

// platform
RandomUserAgent.random { it.platform == "Win32" }
RandomUserAgent.random { it.platform == "MacIntel" }

// device type
RandomUserAgent.random { it.deviceCategory == "desktop" }
RandomUserAgent.random { it.deviceCategory == "mobile" }
RandomUserAgent.random { it.deviceCategory == "tablet" }

// browser type
RandomUserAgent.random { it.userAgent.contains("Safari", true) }

// multiple filter
RandomUserAgent.random({ it.platform == "Win32" }, { it.userAgent.contains("Mozilla", true) })
}
```

```java
// Java example

public class Main {

public static void main(String[] args) {

RandomUserAgent.INSTANCE.random();

// platform
RandomUserAgent.INSTANCE.random(userAgent -> Objects.equals(userAgent.getPlatform(), "Win32"));
RandomUserAgent.INSTANCE.random(userAgent -> Objects.equals(userAgent.getPlatform(), "MacIntel"));

// device type
RandomUserAgent.INSTANCE.random(userAgent -> Objects.equals(userAgent.getDeviceCategory(), "desktop"));
RandomUserAgent.INSTANCE.random(userAgent -> Objects.equals(userAgent.getDeviceCategory(), "mobile"));
RandomUserAgent.INSTANCE.random(userAgent -> Objects.equals(userAgent.getDeviceCategory(), "tablet"));

// browser type
RandomUserAgent.INSTANCE.random(userAgent -> userAgent.getUserAgent().contains("Safari"));

// multiple filter
RandomUserAgent.INSTANCE.random(
userAgent -> Objects.equals(userAgent.getDeviceCategory(), "mobile"),
userAgent -> userAgent.getUserAgent().contains("Mozilla")
);
}
}
```