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')