41 lines
983 B
Python
41 lines
983 B
Python
from ssl import SSLContext, create_default_context
|
|
from urllib.request import Request, urlopen
|
|
|
|
|
|
def get(
|
|
url: str,
|
|
query_params: dict[str, str] | None = None,
|
|
headers: dict[str, str] | None = None,
|
|
) -> str:
|
|
with urlopen(
|
|
Request(
|
|
url
|
|
+ (
|
|
("?" + "&".join(f"{k}={v}" for k, v in query_params.items()))
|
|
if query_params
|
|
else ""
|
|
),
|
|
headers=headers or {},
|
|
method="GET",
|
|
),
|
|
context=create_default_context(),
|
|
) as resp:
|
|
return resp.read().decode("utf-8")
|
|
|
|
|
|
def put(
|
|
url: str,
|
|
data: dict[str, str] | None = None,
|
|
headers: dict[str, str] | None = None,
|
|
) -> str:
|
|
with urlopen(
|
|
Request(
|
|
url,
|
|
str(data).encode(),
|
|
headers=headers or {},
|
|
method="PUT",
|
|
),
|
|
context=create_default_context(),
|
|
) as resp:
|
|
return resp.read().decode("utf-8")
|