Автоматизация создания поддомена: методы и примеры кода

Автоматическое создание субдоменов может быть экономящим время и эффективным решением для управления большим количеством субдоменов. В этой статье блога мы рассмотрим несколько методов и приведем примеры кода, которые помогут вам автоматизировать этот процесс.

Метод 1. Использование API-интерфейсов управления DNS
Многие регистраторы доменов и провайдеры DNS предлагают API-интерфейсы, которые позволяют программно управлять записями DNS, включая поддомены. Вот пример использования популярного API Cloudflare:

import requests
def create_subdomain(api_key, domain, subdomain):
    endpoint = f"https://api.cloudflare.com/client/v4/zones/{domain}/dns_records"
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }
    data = {
        "type": "A",
        "name": subdomain,
        "content": "192.168.1.1",
        "ttl": 3600
    }
    response = requests.post(endpoint, headers=headers, json=data)
    if response.status_code == 200:
        print("Subdomain created successfully!")
    else:
        print("Failed to create subdomain.")
# Usage
api_key = "YOUR_API_KEY"
domain = "example.com"
subdomain = "blog"
create_subdomain(api_key, domain, subdomain)

Метод 2: использование инструментов командной строки
Если у вас есть доступ к командной строке, вы можете использовать инструменты командной строки для автоматизации создания поддоменов. Вот пример использования команды dig(доступна в большинстве Unix-подобных систем):

#!/bin/bash
domain="example.com"
subdomain="blog"
ip_address="192.168.1.1"
record="${subdomain}.${domain}"
zone_id=$(dig +noall +answer NS ${domain} | head -n1 | awk '{print $NF}' | sed 's/.$//')
if [ -n "$zone_id" ]; then
    result=$(curl -X POST "https://api.cloudflare.com/client/v4/zones/${zone_id}/dns_records" \
        -H "Authorization: Bearer YOUR_API_KEY" \
        -H "Content-Type: application/json" \
        --data "{\"type\":\"A\",\"name\":\"${record}\",\"content\":\"${ip_address}\",\"ttl\":3600}")
    success=$(echo "$result" | grep -o '"success":true')
    if [ -n "$success" ]; then
        echo "Subdomain created successfully!"
    else
        echo "Failed to create subdomain."
    fi
else
    echo "Failed to retrieve zone ID."
fi

Метод 3: использование панелей управления веб-хостингом
Если вы используете панель управления веб-хостингом, например cPanel или Plesk, они часто предоставляют API или интерфейсы командной строки для управления поддоменами. Вот пример использования API cPanel (Python):

import requests
def create_subdomain(cpanel_url, cpanel_username, cpanel_password, subdomain):
    api_url = f"{cpanel_url}/execute/SubDomain/addsubdomain"
    headers = {"Authorization": f"Basic {cpanel_username}:{cpanel_password}"}
    data = {"domain": subdomain, "rootdomain": "example.com"}
    response = requests.post(api_url, headers=headers, data=data)
    if response.status_code == 200:
        print("Subdomain created successfully!")
    else:
        print("Failed to create subdomain.")
# Usage
cpanel_url = "https://yourdomain.com:2083"
cpanel_username = "your_username"
cpanel_password = "your_password"
subdomain = "blog"
create_subdomain(cpanel_url, cpanel_username, cpanel_password, subdomain)

Автоматизация создания субдоменов может значительно упростить процесс управления. Независимо от того, решите ли вы использовать API-интерфейсы управления DNS, инструменты командной строки или панели управления веб-хостингом, эти методы предоставляют эффективные способы программного создания нескольких поддоменов. Автоматизируя эту задачу, вы сможете сэкономить время и обеспечить последовательное и безошибочное создание субдомена.

Не забудьте настроить примеры кода в соответствии с вашим конкретным провайдером DNS или средой хостинга. Удачной автоматизации!