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我能在这个程序中更好地使用内存吗?   为什么我的Java while循环迭代了一半   java IntelliJ IDEA不在构建时复制资源   socket仅在Java TCP服务器输出上检查客户端断开连接   java游戏物理摩擦   java片段onClick调用方法   symja数学分析器中无法识别java Abs[x]   java在使用泛型时创建二进制搜索树类的实例?   java在外键约束表上的添加和删除   语法java表达式的含义,如果有条件   java创建内联对象并作为参数传递   是否有相当于Redis排序集(zset)的Java数据结构   java找不到适合的方法(无参数)   音频文件操作给定字节帧的音量Java   Eclipse4不以JavaWebStart启动   java如何使用org在JSON对象中获取嵌套的键元素。json?   java与Jackson的反序列化:“org.codehaus.Jackson.map.JsonMappingException:无法反序列化[projectname]的实例。”   字符串的Java正则表达式   spring集成上的java检测缺火指令