Appearance
公用库
宝塔提供了公用库来进行统一的操作,如文件,网络等:
python
import public读取文件
python
#@param filename 文件名[必传]
#@param mode 文件打开模式 默认 r
#@return bool
f_body = public.ReadFile(filename,mode='r')写入文件
python
#@param filename 文件名[必传]
#@param f_body 要写入的内容[必传]
#@param mode 文件打开模式 默认 w+
#@return bool
result = public.WriteFile(filename,f_body,mode='w+')计算字符串的 MD5
python
#@param strings 要被计算的字符串[必传]
#@return string 小写的 MD5 结果
md5 = public.md5(strings)计算文件的 MD5
python
#@param filename 文件名
#@return string 小写的 MD5 结果
file_md5 = public.FileMd5(filename)写面板日志
python
#@param log_type 日志类型[必传] 如:登录面板
#@param log_body 日志内容[必传] 如:登录成功
#@return None
public.WriteLog(log_type,log_body)使用 GET 方式请求 HTTP
python
#@param url URL 地址[必传]
#@param timeout 超时时间 默认 60 秒
#@return string 成功返回 http 响应内容,失败返回错误代码
http_body = public.HttpGet(url,timeout=60)使用 POST 方式请求 HTTP
python
#@param url URL 地址[必传]
#@param data POST 数据[必传]
#@param timeout 超时时间 默认 60 秒
#@return string 成功返回 http 响应内容,失败返回错误代码
http_body = public.HttpPost(url,data,timeout=60)取随机字符串
python
#@param length 随机字符串长度 默认 16
#@return string
random = public.GetRandomString(length=16)构造通用响应内容
python
#@param status 响应状态[必传] True|False
#@param return_msg 响应内容[必传]
return public.ReturnMsg(True,'操作成功!')取指定文件的权限
python
#@param filename 文件名[必传]
#@return string 权限字符器 如 755
f_mode = public.GetFileMode(filename)取当前使用的 web 服务器
python
#@return string 服务器类型 nginx|apache
web_server = public.GetWebServer()重载当前 web 服务器
python
#@return bool
public.restart_webserver()重载指定 PHP 版本
python
#@param version PHP 版本 如要重载 php7.2:72
public.phpReload()通过管道执行 SHELL 命令
python
#@param shell_str 要被执行的 SHELL 命令[必传]
#@return list 命令执行结果 返回格式: ["正常输出","异常输出"]
result = public.ExecShell(shell_str)获取本服务器 IP 地址
python
#@return string IP 地址
ip = public.GetLocalIp()获取用户 IP 地址
python
#@return string IP 地址
client_ip = public.GetClientIp()获取当前访问的 HOST 及端口信息
python
#@param port 返回端口[选传] True|False 默认为 False
host = public.GetHost()
port = public.GetHost(True)取文件尾指定行数的内容
python
#@praam filename 文件名[必传]
#@param num 指定要取的行数[必传]
#@return string 获取到的内容
last_body = public.GetNumLines(filename,num)字节单位转换(KB,MB,GB,TB)
python
#@param b_size 要被转换的字节数[必传]
#@return string 转换结果
size = public.to_size(b_size)判断指定进程是否存在
python
#@param process_name 进程名[必传]
#@param exe 执行文件路径[选传]默认为 None 不判断,若传入值,验证执行文件路径#@return bool
is_exists = public.process_exists(process_name,exe=None)取服务器 mac 地址
python
mac_address = public.get_mac_address()重启面板
python
public.restart_panel();取当前格式化时间
python
#@param format 格式,默认为 %Y-%m-%d %X 2018-12-10 00:00:00
format_date = public.getDate(format='%Y-%m-%d %X')XSS 过滤
python
#@param data 要被过滤的字符串[必传]
input_body = public.checkInput(data)获取面板自带数据库的 sqlite 数据库对象
python
#@param table 表名
#@return 数据库对象
db_obj = public.M('sites')