项目作者: tz4678

项目描述 :
CPanel API Client for Python
高级语言: Python
项目地址: git://github.com/tz4678/cpanel-api.git
创建时间: 2020-08-07T02:52:00Z
项目社区:https://github.com/tz4678/cpanel-api

开源协议:

下载


CPanel API Client for Python

Downloads
Downloads
Downloads

Supports cPanel API 2 and UAPI.

Install

  1. $ pip install cpanel-api

Examples

Basic usage:

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import logging
  4. import sys
  5. from pprint import pprint
  6. from cpanel_api import CPanelApi
  7. logging.basicConfig(level=logging.WARNING, stream=sys.stderr)
  8. hostname = 'HOSTNAME_OR_IPADRESS'
  9. username = 'USERNAME'
  10. password = 'PASSWORD'
  11. client = CPanelApi(hostname, username, password)
  12. # Alternatively, to authenticate using a UAPI or cPanel API 2 token, use:
  13. # client = CPanelApi(hostname, username, '<TOKEN>', auth_type = 'utoken')
  14. # {'warnings': None, 'errors': None, 'data': {'port': '1243'}, 'metadata': {}, 'status': 1, 'messages': None}
  15. r = client.uapi.SSH.get_port()
  16. print('SSH port:', r.data.port)
  17. # get all public ssh keys
  18. # {'cpanelresult': {'postevent': {'result': 1}, 'apiversion': 2, 'data': [...], 'func': 'listkeys', 'event': {'result': 1}, 'module': 'SSH', 'preevent': {'result': 1}}}
  19. r = client.cpanel2.SSH.listkeys()
  20. pprint(r.cpanelresult.data)
  21. # retrieve key
  22. r = client.cpanel2.SSH.fetchkey(name='id_rsa')
  23. # {"name": "id_rsa", "key": "ssh-rsa XXX"}
  24. print(r.cpanelresult.data[0].key)
  25. r = client.cpanel2.SSH.importkey(name='new_rsa.pub', key='*data*')
  26. pprint(r)
  27. # ...
  28. r = client.cpanel2.DomainLookup.getdocroot(domain='site.info')
  29. print(r.cpanelresult.data[0].reldocroot) # public_html

Function call syntax:

  1. client.api_version.ModuleName.function_name({'param': 'value'})
  2. client.api_version.ModuleName.function_name(param='value')
  3. client.api_version.ModuleName.function_name({'param': 'value'}, param='value')
  4. client.api_cal('api_version', 'ModuleName', 'function_name', {'param': 'value'}, param='value')

Where api_version is cpanel2 or uapi.