cpanel api和csf的python客户端。

pycpanel的Python项目详细描述


https://pypip.in/v/pycpanel/badge.pnghttps://pypip.in/d/pycpanel/badge.png

cpanel api和csf的python客户机。

Installation

使用pip:

$ pip install pycpanel

Authentication

您可以使用远程访问哈希或基本用户/密码身份验证。远程访问哈希身份验证是首选方法。

Basic user/password authentication

警告:不要通过不安全的连接(ssl=false)以这种方式执行身份验证。在不安全连接上使用此方法可能会危害服务器。

importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')

Access hash authentication

http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/RemoteAccess

importpycpanelhash=remote_access_hashserver=pycpanel.conn(hostname='myserver.com.au',hash=hash)

Connection Options

默认选项使用端口2087上的ssl以根用户身份连接到服务器,而不验证ssl证书。

importpycpanelserver=pycpanel.conn(hostname,username='root',hash=None,password=None,ssl=True,verify=False,check_conn=False)
  • 主机名(必需)-cpanel服务器的主机名或IP地址。
  • 用户名(可选,默认为“根”)—验证用户的用户名。
  • 哈希(可选)-cpanel服务器的远程访问哈希。如果未提供密码,则必须提供密码。
  • 密码(可选)-验证用户的密码。如果未提供,则必须提供远程访问哈希。
  • ssl(可选,布尔值,默认值为true)-如果设置为false,pycpanel将在http端口2086而不是https端口2087上连接。
  • verify(可选,布尔值,默认值为false)-如果设置为true,服务器的ssl证书将进行验证以确保其有效。
  • check_conn(可选,布尔值,默认值为true)-如果设置为true,pycpanel将在设置连接后测试服务器并对其进行身份验证。

cPanel External API

cpanel外部api的详细文档可以在下面找到: http://docs.cpanel.net/twiki/bin/view/SoftwareDevelopmentKit/XmlApi

pycpanel.api(function,params=None)

External API without params

此示例将打印一个包含服务器上所有cpanel帐户的dict。在此示例中不传递其他参数。

importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')printserver.api('listaccts')

External API with params

此exmaple将调整用户名为“user1”的cpanel帐户,使其限制为10个加载项域。

importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')params={'user':'user1','MAXADDON ':10,}server.api('modifyacct',params=params)

cPanel API Functions

cpanel api 2函数的详细文档可以在以下位置找到: http://docs.cpanel.net/twiki/bin/view/ApiDocs/Api2/WebHome

pycpanel.cpanel_api(module,function,user,params=None,version=2)

API 2 Function without params

此示例检索与用户名为“user1”的cpanel帐户关联的电子邮件帐户列表。

importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')printserver.cpanel_api('Email','listpops','user1')

API 2 Function with params

此示例为用户帐户“user1”创建一个新的电子邮件帐户(steve@mydomain.com.au)。

importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')params={'domain':'mydomain.com.au','email':'steve','password':'@#fwefq122442','quota':0}server.cpanel_api('Email','addpop','user1',params=params)

Using cPanel API 1

通过将api调用指定为版本1,可以执行cpanel api 1调用。

importpycpanelserver=pycpanel.conn(hostname='myserver.com.au',password='mypassword')params={'arg-0':'username','arg-1':'password','arg-2':'domain.tld',}server.cpanel_api('Email','addpop','user1',params=params,version=1)

ConfigServer Firewall API

要使用configserver防火墙(csf)api,必须在cpanel服务器上安装并激活csf cpanel插件。

Unblock IP Address

此函数将从防火墙中删除IP地址(临时和永久块)。

server=pycpanel.conn(hostname='myserver.com.au',password='mypassword')server.csf.unblock('192.168.0.1')# Returns True if succesfull.

Block IP Address

此函数将阻止防火墙上的IP地址并将其添加到拒绝文件(csf.deny)。

server=pycpanel.conn(hostname='myserver.com.au',password='mypassword')server.csf.deny('192.168.0.1')# Returns True if succesfull.

可选地,可以留下注释来解释IP地址被阻止的原因:

server=pycpanel.conn(hostname='myserver.com.au',password='mypassword')server.csf.deny('192.168.0.1',comment='Why the IP was blocked")# Returns True if succesfull.

Allow IP Address

此函数将允许IP地址通过防火墙并将其添加到允许文件(csf.allow)。

server=pycpanel.conn(hostname='myserver.com.au',password='mypassword')server.csf.allow('192.168.0.1')# Returns True if succesfull.

可选地,可以留下注释来解释为什么允许IP地址通过防火墙:

server=pycpanel.conn(hostname='myserver.com.au',password='mypassword')server.csf.allow('192.168.0.1',comment='Why the IP was allowed")# Returns True if succesfull.

Ignore IP Address

此函数将忽略LFD中的IP地址,并将其添加到忽略文件(csf.ignore)中,然后重新启动LFD。

^{p页R 17}$

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何避免springbootstarterparent和dependency中的flyway包冲突   java文本文件写入不起作用   java获取名为DAO类的Bean创建异常   java类路径和清单文件   如何使用Java中的模式来获取像C中的“sscanf”这样的组?   java Spring自动连接具有构造函数的类   clientSecurity运行的java geode示例失败   java JavaFX:在FXML中从ResourceBundle访问非string对象   java登录到google firebase   java对象在通过构造函数后不会更改。为什么?   java(Android)对特定页面的操作webView   javascript如何在webview的js中从java调用变量   持久化—一种在Java中存储和检索对象而不使用关系数据库的简单方法?   java Ldap获取通讯组列表中的用户   java检查温度条件   java后退按钮警报框(Android Studio)   数组java列表问题:为什么我运行它时,它会在第三次打印时打印出4?   java相对路径与绝对路径