diff options
Diffstat (limited to 'gallery_dl/extractor/artstation.py')
| -rw-r--r-- | gallery_dl/extractor/artstation.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gallery_dl/extractor/artstation.py b/gallery_dl/extractor/artstation.py index ce1a78d..f448710 100644 --- a/gallery_dl/extractor/artstation.py +++ b/gallery_dl/extractor/artstation.py @@ -11,8 +11,6 @@ from .common import Extractor, Message from .. import text, util, exception import itertools -import random -import string class ArtstationExtractor(Extractor): @@ -29,6 +27,9 @@ class ArtstationExtractor(Extractor): Extractor.__init__(self, match) self.user = match.group(1) or match.group(2) + def _init(self): + self.session.headers["Cache-Control"] = "max-age=0" + def items(self): videos = self.config("videos", True) previews = self.config("previews", False) @@ -172,7 +173,7 @@ class ArtstationExtractor(Extractor): ).json()["public_csrf_token"] @staticmethod - def _no_cache(url, alphabet=(string.digits + string.ascii_letters)): + def _no_cache(url): """Cause a cache miss to prevent Cloudflare 'optimizations' Cloudflare's 'Polish' optimization strips image metadata and may even @@ -184,10 +185,9 @@ class ArtstationExtractor(Extractor): https://github.com/r888888888/danbooru/issues/3528 https://danbooru.donmai.us/forum_topics/14952 """ - param = "gallerydl_no_cache=" + util.bencode( - random.getrandbits(64), alphabet) sep = "&" if "?" in url else "?" - return url + sep + param + token = util.generate_token(8) + return url + sep + token[:4] + "=" + token[4:] class ArtstationUserExtractor(ArtstationExtractor): |
