randomized user agents

netiawifi
selfisekai 2020-09-14 00:10:13 +02:00 committed by Laura Liberda
parent ee294f147e
commit 36ac9be112
2 changed files with 60 additions and 3 deletions

View File

@ -7,6 +7,7 @@ from ..utils import get_user_agent
class BaseFxcker:
def __init__(self, logger, log_level):
self.cookie_jar = CookieJar()
self.user_agent = get_user_agent()
self.log = logger(key=self.FXCKER_KEY, log_level=log_level)
@property
@ -18,7 +19,7 @@ class BaseFxcker:
if not kwargs.get("headers"):
kwargs["headers"] = {}
if not kwargs["headers"].get("User-Agent"):
kwargs["headers"]["User-Agent"] = get_user_agent()
kwargs["headers"]["User-Agent"] = self.user_agent
if not kwargs.get("allow_redirects"):
kwargs["allow_redirects"] = False
self.log.info("Requesting " +

View File

@ -7,8 +7,64 @@ import random
def get_user_agent():
# TODO: randomize it
return "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
if bool(random.getrandbits(1)):
# Google Chrome
return ("Mozilla/5.0 ({platform}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{version} Safari/537.36"
).format(platform=random.choice([
"Windows NT 10.0; Win64; x64",
"Windows NT 10.0; WOW64",
"Windows NT 10.0",
]), version=random.choice([
# https://en.wikipedia.org/wiki/Google_Chrome_version_history
# https://bin.ptrcnull.me/uruyewogug.js
"64.0.3282",
"65.0.3325",
"66.0.3359",
"67.0.3396",
"68.0.3440",
"69.0.3497",
"70.0.3538",
"71.0.3578",
"72.0.3626",
"73.0.3683",
"74.0.3729",
"75.0.3770",
"76.0.3809",
"77.0.3865",
"78.0.3904",
"79.0.3945",
"80.0.3987",
"81.0.4044",
"83.0.4103",
"84.0.4147",
"85.0.4183",
"86.0.4240",
"87.0",
"87.0",
]))
else:
# Mozilla Firefox
return ("Mozilla/5.0 ({platform}; rv:{version}) Gecko/20100101 Firefox/{version}"
).format(platform=random.choice([
"Windows NT 10.0; Win64; x64",
"Windows NT 10.0",
]), version=random.choice([
# https://www.mozilla.org/en-US/firefox/releases/
# https://bin.ptrcnull.me/dijaboyewi.js
"80.0",
"79.0",
"78.0",
"77.0",
"76.0",
"75.0",
"74.0",
"73.0",
"72.0",
"71.0",
"70.0",
"69.0",
"68.0",
]))
def get_email_address():