From a5c35f74f1d25958fdebe0953f3c84ac39444f8a Mon Sep 17 00:00:00 2001 From: Savitoj Singh Date: Sat, 28 Mar 2020 16:01:42 +0530 Subject: [PATCH 1/2] Added support for headers to avoid HTTP error 403 Signed-off-by: Savitoj Singh --- linkstatus/linkstatus.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/linkstatus/linkstatus.py b/linkstatus/linkstatus.py index 3f2517d..2d0e237 100644 --- a/linkstatus/linkstatus.py +++ b/linkstatus/linkstatus.py @@ -20,11 +20,11 @@ def link_status(link, timeout=5): Returns: tuple of status (bool) and status code """ - + headers = {"User-Agent": "linkstatus/0.8"} try: - status_code = requests.get(link, timeout=timeout).status_code + status_code = requests.get(link, headers=headers, timeout=timeout).status_code except requests.exceptions.SSLError: - status_code = requests.get(link, verify=False, timeout=timeout).status_code + status_code = requests.get(link, verify=False, headers=headers, timeout=timeout).status_code except Exception: # noqa # TODO: include exception in logging status_code = None From 3b0ee1358b8860d6a55b7d860e7e144005f056ef Mon Sep 17 00:00:00 2001 From: Savitoj Singh Date: Sun, 29 Mar 2020 12:38:20 +0530 Subject: [PATCH 2/2] Dynamic dist version in headers - #32 Signed-off-by: Savitoj Singh --- linkstatus/linkstatus.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/linkstatus/linkstatus.py b/linkstatus/linkstatus.py index 2d0e237..fa80773 100644 --- a/linkstatus/linkstatus.py +++ b/linkstatus/linkstatus.py @@ -3,6 +3,7 @@ from shutil import get_terminal_size import click +import pkg_resources import requests from linkstatus.parser import link_validator @@ -20,7 +21,9 @@ def link_status(link, timeout=5): Returns: tuple of status (bool) and status code """ - headers = {"User-Agent": "linkstatus/0.8"} + headers = { + "User-Agent": "linkstatus/{}".format(pkg_resources.get_distribution("linkstatus").version) + } try: status_code = requests.get(link, headers=headers, timeout=timeout).status_code except requests.exceptions.SSLError: