26 lines
582 B
Python
26 lines
582 B
Python
from urllib.parse import urlparse, parse_qs
|
|
from typing import Dict, Any
|
|
|
|
|
|
def parse_url(url: str) -> Dict[str, Any]:
|
|
"""
|
|
Parse a URL into its components.
|
|
"""
|
|
parsed = urlparse(url)
|
|
return {
|
|
"scheme": parsed.scheme,
|
|
"netloc": parsed.netloc,
|
|
"path": parsed.path,
|
|
"params": parsed.params,
|
|
"query": parse_qs(parsed.query),
|
|
"fragment": parsed.fragment,
|
|
}
|
|
|
|
|
|
def is_valid_url(url: str) -> bool:
|
|
"""
|
|
Check if a URL is valid.
|
|
"""
|
|
parsed = urlparse(url)
|
|
return bool(parsed.scheme and parsed.netloc)
|