28 lines
935 B
Python
28 lines
935 B
Python
import requests
|
|
from http.cookiejar import CookieJar
|
|
|
|
from ..utils import get_user_agent
|
|
|
|
|
|
class BaseFxcker:
|
|
def __init__(self, logger, log_level):
|
|
self.cookie_jar = CookieJar()
|
|
self.log = logger(key=self.FXCKER_KEY, log_level=log_level)
|
|
|
|
@property
|
|
def FXCKER_KEY(self):
|
|
return self.__class__.__name__[:-6]
|
|
|
|
def request(self, method, url, resource=None, **kwargs):
|
|
kwargs["cookies"] = self.cookie_jar
|
|
if not kwargs.get("headers"):
|
|
kwargs["headers"] = {}
|
|
if not kwargs["headers"].get("User-Agent"):
|
|
kwargs["headers"]["User-Agent"] = get_user_agent()
|
|
if not kwargs.get("allow_redirects"):
|
|
kwargs["allow_redirects"] = True
|
|
self.log.info("Requesting " +
|
|
resource if resource is not None
|
|
else (str(method) + " " + str(url)))
|
|
return requests.request(method, url, **kwargs)
|