getUserAgentSequenceForProblematicSite method
Gets a sequence of user agents to try for a problematic site
Implementation
List<String> getUserAgentSequenceForProblematicSite(String url) {
final result = <String>[];
// First, add site-specific user agents
final domain = _extractDomain(url);
for (final siteDomain in _siteSpecificUserAgents.keys) {
if (domain.contains(siteDomain)) {
result.addAll(_siteSpecificUserAgents[siteDomain]!);
}
}
// Then add one of each browser type
result.add(getUserAgentByType(BrowserType.chrome));
result.add(getUserAgentByType(BrowserType.firefox));
result.add(getUserAgentByType(BrowserType.edge));
result.add(getUserAgentByType(BrowserType.safari));
result.add(getUserAgentByType(BrowserType.mobile));
// Add a few random ones
for (int i = 0; i < 3; i++) {
result.add(getRandomUserAgent());
}
// Remove duplicates
return result.toSet().toList();
}