Gandi의 도메인 API를 사용하여 도메인 이름 등록 상태를 확인할 수있는 파이썬 코드를 작성했습니다.
배경
Gandi.net이라는 도메인 레지스트라를 제대로 사용하기 시작했는데 도메인에 최근 빠져 있습니다. 다큐멘테이션을 읽고 있으면, Gandi가 제공하는 API가 있었으므로 조금 놀아 보았습니다.
Gandi.net에서 도메인 취득을 하면 무엇이 얻어지는지 특징을 여기서 간단하게 정리하고 있으므로, Gandi.net이란 무엇인가? 라는 사람은 이쪽으로부터 부디.
도메인 등록 관련 API
이 문서를 참고했습니다.
API 키를 얻는 방법
API 키는 Gandi 웹사이트에 자신의 계정으로 로그인하면 얻을 수 있습니다.
로그인 후 계정 설정 페이지로 이동하여 '사용자 계정 및 보안 설정 관리'를 클릭합니다.
보안 설정 페이지에서 "API 키 생성"을 클릭하여 사용 중인 계정의 비밀번호를 입력하면 API 키를 얻을 수 있습니다.
Gandi 도메인 API를 사용하여 도메인 이름 등록 상태 확인
여기에서는 파이썬을 사용한 간단한 코드를 작성했습니다.
headers = {'authorization': 'Apikey <your api key>'}
이 위치의
domain-availability.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Domain availability
# Terminology: TLD = Top Level Domain such as .com, .net, .org and etc..
import requests
import json
def check_availability():
url = "https://api.gandi.net/v5/domain/check"
domainname = input("Enter a domain name: ") # type only name part excluding ".TLD"
tlds = {1: ".com", 2: ".net", 3: ".org", 4: ".io", 5: ".info", 6: ".jp"} # feel free to add any TLDs
for key in tlds:
querystring = {"name":domainname + tlds[key]}
headers = {'authorization': 'Apikey <your api key>'}
response = requests.request("GET", url, headers=headers, params=querystring)
data = response.text
data_json = json.loads(data)
print(json.dumps(data_json, indent=2))
달리면 이런 느낌이 듭니다.
>>> check_availability()
ドメイン名に使用したい文字列を入力してください: testdomainreg
{
"grid": "A",
"taxes": [
{
"type": "service",
"rate": 0,
"name": "notax"
}
],
"products": [
{
"prices": [
{
"max_duration": 10,
"discount": false,
"price_before_taxes": 1493,
"duration_unit": "y",
"price_after_taxes": 1493,
"min_duration": 1,
"options": {
"period": "golive"
}
}
],
"status": "available",
"process": "create",
"name": "testdomainreg.com",
"taxes": [
{
"type": "service",
"rate": 0,
"name": "notax"
}
]
}
],
"currency": "JPY"
}
{
"currency": "JPY",
"products": [
{
"prices": [
{
"price_before_taxes": 2108,
"max_duration": 10,
"duration_unit": "y",
"options": {
"period": "golive"
},
"discount": false,
"min_duration": 1,
"price_after_taxes": 2108
}
],
"process": "create",
"status": "available",
"taxes": [
{
"rate": 0,
"type": "service",
"name": "notax"
}
],
"name": "testdomainreg.net"
}
],
"taxes": [
{
"rate": 0,
"type": "service",
"name": "notax"
}
],
"grid": "A"
}
........
영어 용어 확인
API를 두드리면 당연하다고 하면 당연합니다만, 모두 결과가 영어로 반환되므로 최소한 이하의 단어나 용어의 의미를 알아두면 편리합니다.
덧붙여서 아래의 코드로 등록하고 싶은 도메인명을 입력하면 위와 같은 결과가 돌아오도록(듯이) 했습니다.
check-availability.py
def check_availability():
url = "https://api.gandi.net/v5/domain/check"
domainname = input("登録したいドメイン名を入力してください: ") # Give a if condition to show an error message if there are spaces or any other characters that we can't accept
querystring = {"name":domainname}
headers = {'authorization': 'Apikey <your API key>'}
response = requests.request("GET", url, headers=headers, params=querystring)
data = response.text
data_json = json.loads(data)
print(json.dumps(data_json, indent=2))
>>> check_availability()
Enter a domain name: testdomainreg.io
{
"taxes": [
{
"name": "notax",
"type": "service",
"rate": 0
}
],
"grid": "A",
"currency": "JPY",
"products": [
{
"name": "testdomainreg.io",
"taxes": [
{
"name": "notax",
"type": "service",
"rate": 0
}
],
"prices": [
{
"price_before_taxes": 3825,
"duration_unit": "y",
"max_duration": 10,
"min_duration": 1,
"options": {
"period": "golive"
},
"price_after_taxes": 3825,
"discount": false
}
],
"process": "create",
"status": "available"
}
]
}
API의 문서를 보면 도메인 이름 등록, 업데이트 및 DNS 레코드 재작성 등 필요한 모든 것을 할 수 있는 것 같습니다.
이 API를 사용하여 쉽게 도메인 이름 등록 서비스를 만들 수도 있을 것 같고 재미 있네요.
Reference
이 문제에 관하여(Gandi의 도메인 API를 사용하여 도메인 이름 등록 상태를 확인할 수있는 파이썬 코드를 작성했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/infraneko_12/items/cf7cf874d4b9a162bde5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)