45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
import requests
|
|
from typing import List, Dict, Union, Optional
|
|
|
|
|
|
class Request:
|
|
proxies = None
|
|
|
|
@staticmethod
|
|
def post(url: str, data: List[Dict], params: Dict[str, Union[str, float]] = None) -> \
|
|
Optional[requests.Response]:
|
|
"""
|
|
Post request
|
|
:param params:
|
|
:param url:
|
|
:param data:
|
|
:return:
|
|
"""
|
|
try:
|
|
headers = {'content-type': 'application/json'}
|
|
r = requests.post(url, verify=False, params=params, json=data, headers=headers,
|
|
proxies=Request.proxies)
|
|
if r.status_code == 200:
|
|
return r
|
|
else:
|
|
raise ValueError(f"Http Request had non-200 Status: {r.status_code}", r.status_code)
|
|
except Exception as e:
|
|
print("Post Error\n", e)
|
|
raise
|
|
|
|
@staticmethod
|
|
def get(url: str, params: Dict[str, Union[str, float]], timeout: float = 1) -> Optional[requests.Response]:
|
|
"""
|
|
Get request
|
|
:param url:
|
|
:param params:
|
|
:param timeout:
|
|
:return:
|
|
"""
|
|
try:
|
|
data = requests.get(url=url, verify=False, params=params, timeout=timeout, proxies=Request.proxies)
|
|
return data
|
|
except Exception as e:
|
|
print("Get Error\n", e)
|
|
raise
|