From 6121cc0896d47580a565cda576c70bab86f72451 Mon Sep 17 00:00:00 2001 From: rlaphoenix Date: Mon, 1 Apr 2024 17:38:04 +0100 Subject: [PATCH] refactor(Basic): Improve proxy format checks --- devine/core/proxies/basic.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/devine/core/proxies/basic.py b/devine/core/proxies/basic.py index 56dde86..6690dea 100644 --- a/devine/core/proxies/basic.py +++ b/devine/core/proxies/basic.py @@ -1,6 +1,9 @@ import random from typing import Optional, Union +from requests.utils import prepend_scheme_if_needed +from urllib3.util import parse_url + from devine.core.proxies.proxy import Proxy @@ -28,8 +31,9 @@ class Basic(Proxy): proxy = random.choice(servers) - if "://" not in proxy: - # TODO: Improve the test for a valid URI + proxy = prepend_scheme_if_needed(proxy, "http") + parsed_proxy = parse_url(proxy) + if not parsed_proxy.host: raise ValueError(f"The proxy '{proxy}' is not a valid proxy URI supported by Python-Requests.") return proxy