From e2a8a67ff944b2168f9a72022222e8ba2ede8964 Mon Sep 17 00:00:00 2001 From: Kaif <98528577+kaifcodec@users.noreply.github.com> Date: Fri, 6 Nov 2026 22:13:29 +0530 Subject: [PATCH] fix(user_scan): resolve bot-wall 403 errors across 20 mediawiki platforms --- user_scanner/user_scan/community/asg.py | 14 +++++--------- user_scanner/user_scan/community/aurodossa.py | 14 +++++--------- user_scanner/user_scan/community/auuversewiki.py | 14 +++++--------- .../user_scan/creative/airlinesafetycards.py | 14 +++++--------- .../user_scan/creative/brockvillerailfan.py | 14 +++++--------- user_scanner/user_scan/gaming/abysssmp.py | 14 +++++--------- user_scanner/user_scan/gaming/site_2001office.py | 14 +++++--------- user_scanner/user_scan/gaming/site_2b2tar.py | 14 +++++--------- user_scanner/user_scan/gaming/site_5jasmp.py | 14 +++++--------- user_scanner/user_scan/gaming/wiki_3c3u_info.py | 14 +++++--------- .../user_scan/learning/aikarebirthfanfic.py | 14 +++++--------- .../user_scan/music/akiraworldvisionsongcontest.py | 14 +++++--------- user_scanner/user_scan/music/amnhacvietnam.py | 14 +++++--------- user_scanner/user_scan/music/andonewiki.py | 14 +++++--------- user_scanner/user_scan/music/bumblekast.py | 14 +++++--------- user_scanner/user_scan/music/site_48plus_org.py | 14 +++++--------- .../user_scan/music/wiki_albrusmusic_ru.py | 14 +++++--------- user_scanner/user_scan/other/aciespco1921.py | 14 +++++--------- user_scanner/user_scan/other/adiaproject.py | 14 +++++--------- user_scanner/user_scan/other/afterfortyninewiki.py | 14 +++++--------- 20 files changed, 100 insertions(+), 180 deletions(-) diff --git a/user_scanner/user_scan/community/asg.py b/user_scanner/user_scan/community/asg.py index 7a342d2cb..a12b6d89d 100644 --- a/user_scanner/user_scan/community/asg.py +++ b/user_scanner/user_scan/community/asg.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_asg(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://asg.miraheze.org/w/api.php" show_url = f"https://asg.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/community/aurodossa.py b/user_scanner/user_scan/community/aurodossa.py index a13a2db4a..3702ec051 100644 --- a/user_scanner/user_scan/community/aurodossa.py +++ b/user_scanner/user_scan/community/aurodossa.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_aurodossa(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://aurodossa.miraheze.org/w/api.php" show_url = f"https://aurodossa.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/community/auuversewiki.py b/user_scanner/user_scan/community/auuversewiki.py index c7ae58497..53a18a5d9 100644 --- a/user_scanner/user_scan/community/auuversewiki.py +++ b/user_scanner/user_scan/community/auuversewiki.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_auuversewiki(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://auuversewiki.miraheze.org/w/api.php" show_url = f"https://auuversewiki.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/creative/airlinesafetycards.py b/user_scanner/user_scan/creative/airlinesafetycards.py index dfd8f56e3..b4cb19ea5 100644 --- a/user_scanner/user_scan/creative/airlinesafetycards.py +++ b/user_scanner/user_scan/creative/airlinesafetycards.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_airlinesafetycards(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://airlinesafetycards.miraheze.org/w/api.php" show_url = f"https://airlinesafetycards.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/creative/brockvillerailfan.py b/user_scanner/user_scan/creative/brockvillerailfan.py index 104b3db4e..1319ed8ef 100644 --- a/user_scanner/user_scan/creative/brockvillerailfan.py +++ b/user_scanner/user_scan/creative/brockvillerailfan.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_brockvillerailfan(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://brockvillerailfan.miraheze.org/w/api.php" show_url = f"https://brockvillerailfan.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/gaming/abysssmp.py b/user_scanner/user_scan/gaming/abysssmp.py index 7b0bf1924..fd38a2932 100644 --- a/user_scanner/user_scan/gaming/abysssmp.py +++ b/user_scanner/user_scan/gaming/abysssmp.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_abysssmp(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://abysssmp.miraheze.org/w/api.php" show_url = f"https://abysssmp.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/gaming/site_2001office.py b/user_scanner/user_scan/gaming/site_2001office.py index 4db83e45d..80f145c84 100644 --- a/user_scanner/user_scan/gaming/site_2001office.py +++ b/user_scanner/user_scan/gaming/site_2001office.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_site_2001office(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://2001office.miraheze.org/w/api.php" show_url = f"https://2001office.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/gaming/site_2b2tar.py b/user_scanner/user_scan/gaming/site_2b2tar.py index 2394ecea3..2ce548f9a 100644 --- a/user_scanner/user_scan/gaming/site_2b2tar.py +++ b/user_scanner/user_scan/gaming/site_2b2tar.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_site_2b2tar(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://2b2tar.miraheze.org/w/api.php" show_url = f"https://2b2tar.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/gaming/site_5jasmp.py b/user_scanner/user_scan/gaming/site_5jasmp.py index 455a5f8d1..7459ed659 100644 --- a/user_scanner/user_scan/gaming/site_5jasmp.py +++ b/user_scanner/user_scan/gaming/site_5jasmp.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_site_5jasmp(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://5jasmp.miraheze.org/w/api.php" show_url = f"https://5jasmp.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/gaming/wiki_3c3u_info.py b/user_scanner/user_scan/gaming/wiki_3c3u_info.py index 81e3796c8..a9c1fd310 100644 --- a/user_scanner/user_scan/gaming/wiki_3c3u_info.py +++ b/user_scanner/user_scan/gaming/wiki_3c3u_info.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_wiki_3c3u_info(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://wiki.3c3u.info/w/api.php" show_url = f"https://wiki.3c3u.info/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/learning/aikarebirthfanfic.py b/user_scanner/user_scan/learning/aikarebirthfanfic.py index 560196303..51cfd055f 100644 --- a/user_scanner/user_scan/learning/aikarebirthfanfic.py +++ b/user_scanner/user_scan/learning/aikarebirthfanfic.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_aikarebirthfanfic(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://aikarebirthfanfic.miraheze.org/w/api.php" show_url = f"https://aikarebirthfanfic.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/music/akiraworldvisionsongcontest.py b/user_scanner/user_scan/music/akiraworldvisionsongcontest.py index b263dc978..b284b2126 100644 --- a/user_scanner/user_scan/music/akiraworldvisionsongcontest.py +++ b/user_scanner/user_scan/music/akiraworldvisionsongcontest.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_akiraworldvisionsongcontest(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://akiraworldvisionsongcontest.miraheze.org/w/api.php" show_url = f"https://akiraworldvisionsongcontest.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/music/amnhacvietnam.py b/user_scanner/user_scan/music/amnhacvietnam.py index 293491a4b..66b98578a 100644 --- a/user_scanner/user_scan/music/amnhacvietnam.py +++ b/user_scanner/user_scan/music/amnhacvietnam.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_amnhacvietnam(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://amnhacvietnam.miraheze.org/w/api.php" show_url = f"https://amnhacvietnam.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/music/andonewiki.py b/user_scanner/user_scan/music/andonewiki.py index 3c7c891ce..2ef854883 100644 --- a/user_scanner/user_scan/music/andonewiki.py +++ b/user_scanner/user_scan/music/andonewiki.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_andonewiki(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://andonewiki.miraheze.org/w/api.php" show_url = f"https://andonewiki.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/music/bumblekast.py b/user_scanner/user_scan/music/bumblekast.py index 3836fa9a3..dc38612b4 100644 --- a/user_scanner/user_scan/music/bumblekast.py +++ b/user_scanner/user_scan/music/bumblekast.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_bumblekast(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://bumblekast.miraheze.org/w/api.php" show_url = f"https://bumblekast.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/music/site_48plus_org.py b/user_scanner/user_scan/music/site_48plus_org.py index 16fb5e2eb..d0b4d2ef9 100644 --- a/user_scanner/user_scan/music/site_48plus_org.py +++ b/user_scanner/user_scan/music/site_48plus_org.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_site_48plus_org(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://48plus.org/w/api.php" show_url = f"https://48plus.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/music/wiki_albrusmusic_ru.py b/user_scanner/user_scan/music/wiki_albrusmusic_ru.py index 53dc7a082..bfebfa49c 100644 --- a/user_scanner/user_scan/music/wiki_albrusmusic_ru.py +++ b/user_scanner/user_scan/music/wiki_albrusmusic_ru.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_wiki_albrusmusic_ru(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://wiki.albrusmusic.ru/w/api.php" show_url = f"https://wiki.albrusmusic.ru/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/other/aciespco1921.py b/user_scanner/user_scan/other/aciespco1921.py index 1469f366f..b4f59d622 100644 --- a/user_scanner/user_scan/other/aciespco1921.py +++ b/user_scanner/user_scan/other/aciespco1921.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_aciespco1921(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://aciespco1921.miraheze.org/w/api.php" show_url = f"https://aciespco1921.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/other/adiaproject.py b/user_scanner/user_scan/other/adiaproject.py index 3053b3f25..9bc039d6f 100644 --- a/user_scanner/user_scan/other/adiaproject.py +++ b/user_scanner/user_scan/other/adiaproject.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_adiaproject(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://adiaproject.miraheze.org/w/api.php" show_url = f"https://adiaproject.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, ) diff --git a/user_scanner/user_scan/other/afterfortyninewiki.py b/user_scanner/user_scan/other/afterfortyninewiki.py index 57f8e6f95..8b72a5e42 100644 --- a/user_scanner/user_scan/other/afterfortyninewiki.py +++ b/user_scanner/user_scan/other/afterfortyninewiki.py @@ -1,17 +1,13 @@ import urllib.parse -from user_scanner.core.helpers import get_random_user_agent -from user_scanner.core.orchestrator import Result, generic_validate +from user_scanner.core.impersonate import impersonate_validate +from user_scanner.core.orchestrator import Result def validate_afterfortyninewiki(user: str) -> Result: encoded_user = urllib.parse.quote(user) url = "https://afterfortyninewiki.miraheze.org/w/api.php" show_url = f"https://afterfortyninewiki.miraheze.org/wiki/User:{encoded_user}" - headers = { - "User-Agent": get_random_user_agent(), - "Accept": "application/json", - } params = { "action": "query", "format": "json", @@ -52,11 +48,11 @@ def process(response) -> Result: return Result.error(f"Unexpected response status {response.status_code}") - return generic_validate( + return impersonate_validate( url, process, - headers=headers, params=params, show_url=show_url, - follow_redirects=True, + impersonate="chrome", + allow_redirects=True, )