[common] allow overriding more default 'User-Agent' headers (#6496)
ignore 'extractor.user-agent' if it is the default useragent value and an extractor wants to set its own custom value
This commit is contained in:
@@ -42,6 +42,8 @@ class Extractor():
|
|||||||
ciphers = None
|
ciphers = None
|
||||||
tls12 = True
|
tls12 = True
|
||||||
browser = None
|
browser = None
|
||||||
|
useragent = ("Mozilla/5.0 (Windows NT 10.0; Win64; x64; "
|
||||||
|
"rv:128.0) Gecko/20100101 Firefox/128.0")
|
||||||
request_interval = 0.0
|
request_interval = 0.0
|
||||||
request_interval_min = 0.0
|
request_interval_min = 0.0
|
||||||
request_interval_429 = 60.0
|
request_interval_429 = 60.0
|
||||||
@@ -381,11 +383,13 @@ class Extractor():
|
|||||||
ssl_ciphers = SSL_CIPHERS[browser]
|
ssl_ciphers = SSL_CIPHERS[browser]
|
||||||
else:
|
else:
|
||||||
useragent = self.config("user-agent")
|
useragent = self.config("user-agent")
|
||||||
if useragent is None:
|
if useragent is None or useragent == "auto":
|
||||||
useragent = ("Mozilla/5.0 (Windows NT 10.0; Win64; x64; "
|
useragent = self.useragent
|
||||||
"rv:128.0) Gecko/20100101 Firefox/128.0")
|
|
||||||
elif useragent == "browser":
|
elif useragent == "browser":
|
||||||
useragent = _browser_useragent()
|
useragent = _browser_useragent()
|
||||||
|
elif useragent is config.get(("extractor",), "user-agent") and \
|
||||||
|
useragent == Extractor.useragent:
|
||||||
|
useragent = self.useragent
|
||||||
headers["User-Agent"] = useragent
|
headers["User-Agent"] = useragent
|
||||||
headers["Accept"] = "*/*"
|
headers["Accept"] = "*/*"
|
||||||
headers["Accept-Language"] = "en-US,en;q=0.5"
|
headers["Accept-Language"] = "en-US,en;q=0.5"
|
||||||
|
|||||||
@@ -20,10 +20,10 @@ class DanbooruExtractor(BaseExtractor):
|
|||||||
page_limit = 1000
|
page_limit = 1000
|
||||||
page_start = None
|
page_start = None
|
||||||
per_page = 200
|
per_page = 200
|
||||||
|
useragent = util.USERAGENT
|
||||||
request_interval = (0.5, 1.5)
|
request_interval = (0.5, 1.5)
|
||||||
|
|
||||||
def _init(self):
|
def _init(self):
|
||||||
self.session.headers["User-Agent"] = util.USERAGENT
|
|
||||||
self.ugoira = self.config("ugoira", False)
|
self.ugoira = self.config("ugoira", False)
|
||||||
self.external = self.config("external", False)
|
self.external = self.config("external", False)
|
||||||
|
|
||||||
|
|||||||
@@ -20,11 +20,10 @@ class E621Extractor(danbooru.DanbooruExtractor):
|
|||||||
page_limit = 750
|
page_limit = 750
|
||||||
page_start = None
|
page_start = None
|
||||||
per_page = 320
|
per_page = 320
|
||||||
|
useragent = util.USERAGENT + " (by mikf)"
|
||||||
request_interval_min = 1.0
|
request_interval_min = 1.0
|
||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
self.session.headers["User-Agent"] = util.USERAGENT + " (by mikf)"
|
|
||||||
|
|
||||||
includes = self.config("metadata") or ()
|
includes = self.config("metadata") or ()
|
||||||
if includes:
|
if includes:
|
||||||
if isinstance(includes, str):
|
if isinstance(includes, str):
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ class MangadexExtractor(Extractor):
|
|||||||
"{manga}_c{chapter:>03}{chapter_minor}_{page:>03}.{extension}")
|
"{manga}_c{chapter:>03}{chapter_minor}_{page:>03}.{extension}")
|
||||||
archive_fmt = "{chapter_id}_{page}"
|
archive_fmt = "{chapter_id}_{page}"
|
||||||
root = "https://mangadex.org"
|
root = "https://mangadex.org"
|
||||||
|
useragent = util.USERAGENT
|
||||||
_cache = {}
|
_cache = {}
|
||||||
|
|
||||||
def __init__(self, match):
|
def __init__(self, match):
|
||||||
@@ -33,7 +34,6 @@ class MangadexExtractor(Extractor):
|
|||||||
self.uuid = match.group(1)
|
self.uuid = match.group(1)
|
||||||
|
|
||||||
def _init(self):
|
def _init(self):
|
||||||
self.session.headers["User-Agent"] = util.USERAGENT
|
|
||||||
self.api = MangadexAPI(self)
|
self.api = MangadexAPI(self)
|
||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user