常用 MaxKB 函数库之 HTTP 请求和 MySQL 数据库连接函数


飞致云 发布于 2024-09-02 / 119 阅读 / 0 评论 /
一、HTTP请求函数 1、代码示例 在 Python 中,执行简单的 GET 请求通常可以通过多种库来实现,但最常用和简便的是 requests 库。以下是一个使用 requests

一、HTTP请求函数

1、代码示例

在 Python 中,执行简单的 GET 请求通常可以通过多种库来实现,但最常用和简便的是 requests 库。以下是一个使用 requests 库执行 GET 请求的基本示例:

import requests  
  
def get_weather_by_city_id(city_id):
    """  
    通过城市ID获取天气信息
    :param city_id: 城市ID,例如'101190101'  
    :return: 响应内容  
    """  
    # 构造请求URL  
    url = f"http://t.weather.sojson.com/api/weather/city/{city_id}"
      
    try:
        # 发送GET请求  
        response = requests.get(url)
          
        # 检查请求是否成功
        if response.status_code == 200:
            # 解析并打印JSON响应  
            weather_data = response.json()
            print(weather_data)
            return weather_data
        else:
            print(f"请求失败,状态码: {response.status_code}")
            return None
    except requests.RequestException as e:
        print(f"请求错误: {e}")

2、详细配置

添加输入变量,变量名和 Python 代码中的函数汇总参数名称保持一致,同时支持通过{变量名}进行传参。

输入不同传参值测试。

二、MySQL数据库连接函数

1、安装依赖

在 Python 中调用 MySQL 数据库的函数通常使用 Python 的数据库连接库如 mysql-connector-pythonPyMySQL 等来实现。以下是一个使用 mysql-connector-python 库来调用MySQL数据库中函数的简单示例。

首先,确保你已经安装了 mysql-connector-python。如果没有安装,可以通过 pip 安装:

pip install mysql-connector-python

正常来说会很慢,可以使用阿里云的源:

pip install mysql-connector-python -i https://mirrors.aliyun.com/pypi/simple/

直接进入到 MaxKB 容器里面执行即可:

2、代码示例

使用以下 Python 脚本来连接 MySQL 数据库并执行 SQL 语句:

import mysql.connector
from mysql.connector import Error


def execute_sql_query(query):
    """
    :param query: 要执行的SQL查询
    :return: 查询结果
    """
    connection = None
    result = None
    try:
        connection = mysql.connector.connect(
            host= "10.1.14.175",
            user= "root",
            passwd= "YTkzZDNiNDItZDcyNC******",
            database= "jumpserver"
        )
        if connection.is_connected():
            cursor = connection.cursor()
            cursor.execute(query)
            # 对于SELECT查询,我们使用fetchall()来获取所有结果
            # 对于INSERT、UPDATE、DELETE等,你可以通过cursor.rowcount来获取影响的行数
            if query.upper().startswith('SELECT'):
                result = cursor.fetchall()
            else:
                connection.commit()  # 确保更改被提交到数据库
                result = cursor.rowcount  # 获取影响的行数
    except Error as e:
        print(f"Error while connecting to MySQL {e}")
    finally:
        if connection.is_connected():
            cursor.close()
            connection.close()
            print("MySQL connection is closed")
    return result

3、详细配置

添加输入变量,变量名和Python代码中的函数名称要一致。

执行SQL语句,查看输出结果。



是否对你有帮助?