[python]调用http类型接口

125 阅读2分钟

项目结构

http_api_client/ ├── main.py ├── requirements.txt └── README.md

1/requirements.txt文件

首先,我们需要在requirements.txt文件中列出项目所需的依赖项:

2/README.md

# 然后,我们可以编写一个简单的README.md文件来描述这个项目:

# HTTP API Client

# 这是一个简单的Python项目,用于调用HTTP类型的接口。

# 使用方法

1. 安装依赖项:
    ```sh
    pip install -r requirements.txt
    ```

2. 运行主程序:
    ```sh
    python main.py
    ```

3. 查看输出结果。

3/main.py

接下来是主程序文件`main.py`,它包含调用HTTP接口的代码:
import requests
 
def call_http_api(url, method='GET', headers=None, params=None, data=None, json_data=None):
    """
    调用HTTP API的函数。
 
    :param url: API的URL地址
    :param method: HTTP请求方法,默认为'GET'
    :param headers: 请求头,默认为None
    :param params: URL参数,默认为None
    :param data: 表单数据,默认为None
    :param json_data: JSON数据,默认为None
    :return: API响应的JSON数据
    """
    try:
        if method == 'GET':
            response = requests.get(url, headers=headers, params=params)
        elif method == 'POST':
            if json_data:
                response = requests.post(url, headers=headers, json=json_data)
            else:
                response = requests.post(url, headers=headers, data=data)
        else:
            raise ValueError(f"Unsupported method: {method}")
 
        # 检查响应状态码
        response.raise_for_status()
 
        # 返回响应的JSON数据
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"Error occurred: {e}")
        return None
 
if __name__ == "__main__":
    # 示例API URL(请替换为实际的API地址)
    api_url = 'https://jsonplaceholder.typicode.com/posts'
 
    # 调用GET请求示例
    print("Calling GET request:")
    get_response = call_http_api(api_url, method='GET')
    if get_response:
        print(f"GET Response: {get_response[:2]} (showing first 2 entries for brevity)")
 
    # 调用POST请求示例(使用JSON数据)
    post_data = {
        'title': 'foo',
        'body': 'bar',
        'userId': 1
    }
    print("\nCalling POST request:")
    post_response = call_http_api(api_url, method='POST', json_data=post_data)
    if post_response:
        print(f"POST Response: {post_response}")

4/运行项目

确保你已经安装了Python和pip。
在项目根目录下创建一个虚拟环境(可选,但推荐):
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
source venv/bin/activate  # 在Windows上使用 `venv\Scripts\activate`

#安装依赖项:
```sh
pip install -r requirements.txt
#运行主程序
python main.py
你应该会看到GET和POST请求的响应输出。
注意事项

请将api_url替换为你要调用的实际API地址。
如果API需要身份验证或其他自定义请求头,请在headers参数中添加相应的值。
这个示例代码只是基础用法,实际应用中可能需要处理更多的错误和异常情况。