summaryrefslogtreecommitdiffstats
path: root/hyprsunset_qt/sun.py
diff options
context:
space:
mode:
Diffstat (limited to 'hyprsunset_qt/sun.py')
-rw-r--r--hyprsunset_qt/sun.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/hyprsunset_qt/sun.py b/hyprsunset_qt/sun.py
index aba2ae3..d6b8cd9 100644
--- a/hyprsunset_qt/sun.py
+++ b/hyprsunset_qt/sun.py
@@ -39,9 +39,14 @@ def write_cache(payload: dict, path: Path) -> None:
GEO_URL = "http://ip-api.com/json"
SUN_URL = "https://api.sunrise-sunset.org/json?lat={lat}&lng={lon}&formatted=0"
+# sunrise-sunset.org is behind Cloudflare, which returns 403 (error 1010) for
+# the default Python-urllib User-Agent. Send a normal UA so requests get through.
+_USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) hyprsunset-qt"
+
def _http_get(url: str, timeout: float = 10.0) -> str:
- with urllib.request.urlopen(url, timeout=timeout) as resp:
+ req = urllib.request.Request(url, headers={"User-Agent": _USER_AGENT})
+ with urllib.request.urlopen(req, timeout=timeout) as resp:
return resp.read().decode()