Чтобы программно получить цены на домен и хостинг, вы можете использовать различные методы в зависимости от регистратора домена или хостинг-провайдера, с которым вы хотите работать. Вот несколько примеров с использованием популярных провайдеров:
- GoDaddy (документация API: https://developer.godaddy.com/ )
import requests
def get_domain_price(domain_name):
url = f'https://api.godaddy.com/v1/domains/available?domain={domain_name}'
response = requests.get(url)
data = response.json()
price = data['price']
return price
domain = 'example.com'
price = get_domain_price(domain)
print(f"The price for {domain} is {price}")
- Namecheap (документация API: https://www.namecheap.com/support/api/ )
import requests
def get_domain_price(domain_name):
url = f'https://api.namecheap.com/xml.response?ApiUser=YOUR_USERNAME&ApiKey=YOUR_API_KEY&UserName=YOUR_USERNAME&Command=namecheap.domains.check&DomainList={domain_name}'
response = requests.get(url)
# Parse the XML response to extract the price
# ...
domain = 'example.com'
price = get_domain_price(domain)
print(f"The price for {domain} is {price}")
- Веб-сервисы Amazon (AWS) Route 53 (документация API: https://docs.aws.amazon.com/Route53/latest/APIReference/Welcome.html )
import boto3
def get_domain_price(domain_name):
client = boto3.client('route53')
response = client.list_pricing(ServiceCode='AmazonRoute53', Filters=[{'Field': 'productFamily', 'Type': 'TERM_MATCH', 'Value': 'Domain Registration'}])
prices = response['Prices']
for price in prices:
if price['Attributes']['domainName'] == domain_name:
return price['PricePerUnit']['USD']
domain = 'example.com'
price = get_domain_price(domain)
print(f"The price for {domain} is {price}")
Цены на хостинг могут различаться в зависимости от хостинг-провайдера. Вот пример использования AWS EC2 (документация API: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html ):
import boto3
def get_hosting_price(instance_type):
client = boto3.client('ec2')
response = client.describe_instance_types(InstanceTypes=[instance_type])
prices = response['InstanceTypes'][0]['InstanceTypeDetails'][0]['EbsInfo']['EbsOptimizedInfo']['DefaultEbsOptimized']
return prices
instance_type = 't2.micro'
price = get_hosting_price(instance_type)
print(f"The price for hosting a {instance_type} instance is {price}")