Browse Source

change user agent to workaround blacklisting of "Python-urllib/3.*"

https://github.com/fphammerle/tooncher/issues/2
Fabian Peter Hammerle 4 years ago
parent
commit
d2ec81428d
2 changed files with 9 additions and 2 deletions
  1. 3 0
      CHANGELOG.md
  2. 6 2
      tooncher/__init__.py

+ 3 - 0
CHANGELOG.md

@@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
 ## Unreleased
+### Fixed
+- change user agent to workaround blacklisting of "Python-urllib/3.*"
+  (HTTP403, cloudflare error 1010, https://github.com/fphammerle/tooncher/issues/2
 
 ## [1.0.1] - 2019-12-27
 ### Added

+ 6 - 2
tooncher/__init__.py

@@ -44,12 +44,16 @@ def start_engine(
 def _api_request(
     url: str, params: typing.Optional[dict] = None, validate_ssl_cert: bool = True
 ):
-    resp = urllib.request.urlopen(
+    request = urllib.request.Request(
         url=url,
         data=urllib.parse.urlencode(params).encode("ascii") if params else None,
+        headers={"User-Agent": "tooncher"},
+    )
+    response = urllib.request.urlopen(
+        request,
         context=None if validate_ssl_cert else ssl._create_unverified_context(),
     )
-    return json.loads(resp.read().decode("ascii"))
+    return json.loads(response.read().decode("ascii"))
 
 
 class _LoginSuccessful: