cdmon.com上的crud操作库

cdmon-automator的Python项目详细描述


用于cdmon.com上crud操作的python库

此项目将允许您以编程方式在cdmon.com中管理您的域

它是如何工作的?

它在无头模式下运行chrome,并执行手动操作。没有 黑暗魔法也不是晦涩的黑客。

我需要什么?

任何python 3.x(建议增加3.2),带有pip和chrome(无头)

我怎么用?

一个非常基本的用法示例:

fromcdmonimportCDMONcdmon=CDMON()cdmon.login()cdmon.work_on("foo.com")cdmon.create_record("TXT",{"redirect_type":"custom","subdomain":"bar","value":"123456789"})cdmon.work_on("mydomain.com")cdmon.change_record("A","www","127.0.0.1")cdmon.change_record("A","mailcow","1.2.3.4")cdmon.change_record("TXT","@","v=spf1 ...")cdmon.work_on("xyz.com")cdmon.delete_record("TXT","bar")cdmon.terminate()

请记住,库使用环境变量获取登录数据。 您需要提供这些文件,创建一个.env文件或通过任何其他方式。

USERNAME=
PASSWORD=
TIMEOUT=10
DEBUG=True
NETDEBUG=True
  • 用户名-用于登录cdmon.com的用户名/电子邮件
  • 密码-密码
  • 超时-在该时间(秒)后设置硒超时。默认值10
  • debug-如果设置为true它将显示Chrome的用户界面。默认值false
  • netdebug-如果设置为true它将显示urllibdebug到stdout。默认值false

使用详细信息

工作(域名)

您必须在执行任何其他工作之前调用此方法,以便 库知道要在哪个域上执行工作。

创建记录(记录类型、值)

记录类型-要创建的记录类型。它可以是

  • txt
  • spf
  • a
  • aaaa
  • cname
  • mx
  • srv
  • ns

-包含所属记录类型的特定数据的哈希 正在尝试创建。并非所有记录都需要/使用相同(数量)的变量。使用 以下列表确保使用正确的数据。

txt/spf

重定向类型-重定向的类型。它可以是

  • @-整个域
  • *-未定义的子域
  • 自定义-自定义子域

子域-自定义子域。只有当 重定向类型设置为自定义

-记录的值。

示例:

  • 为域本身创建一个txt记录,值为foo bar xyz

    cdmon.create_record("TXT",{"redirect_type":"@","value":"foo bar xyz"})
  • test.mydomain.com创建一个txt记录,值为hi

    cdmon.create_record("TXT",{"redirect_type":"custom","subdomain":"test","value":"hi"})

a/aaaa/cname/ns

重定向类型-重定向的类型。它可以是

  • @-整个域
  • *-未定义的子域
  • 自定义-自定义子域

子域-自定义子域。只有当 重定向类型设置为自定义

目的地-要分配给记录的IP。请注意,库不会阻止您尝试分配无效值。

示例:

  • 为域本身创建一个a记录,指向127.0.0.1

    cdmon.create_record("A",{"redirect_type":"@","destination":"127.0.0.1"})
  • 为域创建aaaa记录,指向127.0.0.1

    cdmon.create_record("AAAA",{"redirect_type":"custom","subdomain":"test","destination":"127.0.0.1"})
  • 为域本身创建一个cname记录,指向www.mydomain.com

    cdmon.create_record("CNAME",{"redirect_type":"@","destination":"www.mydomain.com"})
  • 为域创建ns记录,指向mydomain.com

    cdmon.create_record("NS",{"redirect_type":"custom","subdomain":"test","destination":"mydomain.com"})

SRV

重定向类型-重定向的类型。它可以是

  • @-整个域
  • *-未定义的子域
  • 自定义-自定义子域

子域-自定义子域。只有当 重定向_type设置为自定义

目的地-要分配给记录的目的地。请注意,库不会阻止您尝试分配无效值。

优先级-记录的优先级。

权重-记录的权重。

端口-记录的端口。

示例:

  • 为域本身创建一个srv记录,指向foobar.com 5 800 22

    cdmon.create_record("SRV",{"redirect_type":"@","destination":"foobar.com""priority":"5","weight":"800","port":"22"})
  • 为域mail.mydomain.com创建srv记录,指向smtp.foo.bar 10 200 465

    fromcdmonimportCDMONcdmon=CDMON()cdmon.login()cdmon.work_on("foo.com")cdmon.create_record("TXT",{"redirect_type":"custom","subdomain":"bar","value":"123456789"})cdmon.work_on("mydomain.com")cdmon.change_record("A","www","127.0.0.1")cdmon.change_record("A","mailcow","1.2.3.4")cdmon.change_record("TXT","@","v=spf1 ...")cdmon.work_on("xyz.com")cdmon.delete_record("TXT","bar")cdmon.terminate()
    0
<

子域-子域。

目的地-要分配给记录的目的地。请注意,库不会阻止您尝试分配无效值。

优先级-记录的优先级。

示例:

  • 为域mail.mydomain.com创建MX记录,指向foobar.com 10

    fromcdmonimportCDMONcdmon=CDMON()cdmon.login()cdmon.work_on("foo.com")cdmon.create_record("TXT",{"redirect_type":"custom","subdomain":"bar","value":"123456789"})cdmon.work_on("mydomain.com")cdmon.change_record("A","www","127.0.0.1")cdmon.change_record("A","mailcow","1.2.3.4")cdmon.change_record("TXT","@","v=spf1 ...")cdmon.work_on("xyz.com")cdmon.delete_record("TXT","bar")cdmon.terminate()
    1

更改记录(自我、记录类型、记录名称、值)

此方法将允许您更新记录的字段。值与 规则作为来自创建记录方法。

注意,不能更新记录的子域,只能更新 领域。cdmon.com就是这样工作的。

删除记录(记录类型、记录名称)

此方法将允许您删除记录。请注意,搜索基于 类型和名称(子域),这意味着它在 同一类型同一子域上有多条记录的情况 例如,在@域中存在多个txt记录。

终止()

将关闭/退出Chrome。

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

推荐PyPI第三方库


热门话题
如果在每次迭代后返回到原始状态,java是否可以安全地对正在迭代的数组进行变异?   linux java对'main'集合的未定义引用2:ld返回1退出状态   java如何在dynamodb上按多个字段进行排序(有解决方法吗)?   java错误处理servlet停止工作,我不知道原因:(   多线程如何在Java中暂停/恢复ExecutorService中的所有线程?   java为什么是我的jsoup。连接(url)无法使用某些url?   多线程理解Java多线程中的内存可见性   java sonar scanner可以在没有sonarqube服务器的情况下工作吗   如何从java中的页面获取不同的url?   java从文件中查找命令行中指定的单词   java类的“set”方法是否应该返回“void”或“boolean”?   如何使用java代码批量读取文件内容   二进制十进制(java.lang.NumberFormatException)   java如何在同一个句子中分别替换同一个单词但大小写不同?   java Spring `RestController`方法注释了`Transactional`,但“当前没有活动的事务”?   java OWL API:如何将域分配给OWLObjectProperty上的范围   java变量末尾的$有特殊意义吗?   java什么距离计算(经度、纬度)更精确?   卡片布局java GUI