+"""Robot based on requests
+
+This file is a part of Bookmarks database and Internet robot.
+
+"""
+
+__author__ = "Oleg Broytman <phd@phdru.name>"
+__copyright__ = "Copyright (C) 2024 PhiloSoft Design"
+__license__ = "GNU GPL"
+
+__all__ = ['robot_requests']
+
+
+import requests
+import requests_ftp
+
+from Robots.bkmk_robot_base import robot_base
+
+requests_ftp.monkeypatch_session()
+
+
+class robot_requests(robot_base):
+ def get(self, bookmark, url, accept_charset=False):
+ try:
+ r = requests.Session().get(
+ url, timeout=self.timeout, allow_redirects=False)
+ except requests.RequestException as e:
+ error = str(e)
+ self.log(' Error: %s' % error)
+ return error, None, None, None, None
+ else:
+ if r.is_redirect:
+ return None, r.status_code, r.next.url, None, None
+ return None, None, None, r.headers, r.content
+
+ def get_ftp_welcome(self):
+ return '' # Alas, requests_ftp doesn't store welcome message