# HTTP 请求模块文档（Python 版本）

## HTTP 请求

#### 发送 POST 请求，参数为 JSON 格式

* 方法说明

  本方法是阻塞方法，发送 POST 请求，参数为 JSON 格式。

```python
def request_post(url: str, param: str) -> str | None
```

* 输入参数
* `url`：str 类型，请求的 URL
* `param`：str 类型，JSON 字符串，请求的参数
* 输出参数
* 若请求成功：返回响应的 JSON 字符串
* 若请求失败：`None`
* 异常
  本方法不会抛出异常

#### 发送 POST 请求，参数为 XML 格式

* 方法说明

  本方法是阻塞方法，发送 POST 请求，参数为 XML 格式。在本方法中会自动将传入的 JSON 格式字符串转化为 XML 格式

```python
def request_post_xml(url: str, param: str) -> str | None
```

* 输入参数
* `url`：str 类型，请求的 URL
* `param`：str 类型，JSON 字符串，请求的参数
* 输出参数
* 若请求成功：将响应的 XML 格式字符串转化为 JSON 格式并返回
* 若请求失败：`None`
* 异常
  本方法不会抛出异常

#### 发送 PUT 请求，参数为 JSON 格式

* 方法说明

  本方法是阻塞方法，发送 PUT 请求，参数为 JSON 格式。

```python
def request_put_json(url: str, param: str) -> str | None
```

* 输入参数
* `url`：str 类型，请求的 URL
* `param`：str 类型，JSON 字符串，请求的参数
* 输出参数
* 若请求成功：返回响应的 JSON 字符串
* 若请求失败：`None`
* 异常
  本方法不会抛出异常

#### 发送 GET 请求

* 方法说明

  本方法是阻塞方法，发送 GET 请求。

```python
def request_get(url: str) -> str | None
```

* 输入参数
* `url`：str 类型，请求的 URL
* 输出参数
* 若请求成功：请求返回的字符串
* 若请求失败：`None`
* 异常
  本方法不会抛出异常

#### 设置请求头

* 方法说明

  本方法是阻塞方法，设置请求头，设置一次之后，对所有请求都有效。

```python
def set_header(key: str, value: str) -> None
```

* 输入参数
* `key`：str 类型，请求头的 key
* `value`：str 类型，请求头的 value
* 输出参数
* 无

#### 发送 POST 请求（增强版）

* 方法说明

  本方法是阻塞方法，发送 `POST` 请求，参数为 `JSON` 格式。可设置请求媒体类型(`MediaType`)，可设置请求头

```python
def request_http_post(url: str, param: str, head_param: str, media_type: str) -> str | None
```

* 输入参数
* `url`：请求的 URL
* `param`：请求的入参 json 字符串
* `head_param`：请求头，如有传 json 字符串，无传空字符串
* `media_type`：请求类型默认 application/json，可有如下选择 `JSON`、`JAVASCRIPT`、`HTML`、`XML`、`XWWWFORMURLENCODED` 分别表示：`application/json`、`application/javascript`、`text/html`、`application/xml`、`application/x-www-form-urlencoded`
* 输出参数
* 成功返回 json 字符串，失败返回 `None`

注意：`set_header` 设置对此方法也有效

#### 发送 GET 请求（增强版）

* 方法说明

  本方法是阻塞方法，发送 `GET` 请求，参数为 `JSON` 格式。可设置请求头

```python
def request_http_get(url: str, head_param: str) -> str | None
```

* 输入参数
* `url`：请求的 URL
* `head_param`：请求头，如有传 json 字符串，无传空字符串
* 输出参数
* 成功返回 json 字符串，失败返回 `None`

注意：`set_header` 设置对此方法也有效

#### 发送 PUT 请求（增强版）

* 方法说明

  本方法是阻塞方法，发送 `PUT` 请求，参数为 `JSON` 格式。可设置请求媒体类型(`MediaType`)，可设置请求头

```python
def request_http_put(url: str, head_param: str, media_type: str, param: str) -> str | None
```

* 输入参数
* `url`：请求的 URL
* `head_param`：请求头，如有传 json 字符串，无传空字符串
* `media_type`：请求类型默认 application/json，可有如下选择 `JSON`、`JAVASCRIPT`、`HTML`、`XML`、`XWWWFORMURLENCODED` 分别表示：`application/json`、`application/javascript`、`text/html`、`application/xml`、`application/x-www-form-urlencoded`
* `param`：请求的入参 json 字符串
* 输出参数
* 成功返回 json 字符串，失败返回 `None`

注意：`set_header` 设置对此方法也有效