API ๋ฌธ์„œ

v1.6

Next Whois๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์˜ WHOIS/RDAP ์กฐํšŒ ๋ฐ ๋™์  OG ์ด๋ฏธ์ง€ ์ƒ์„ฑ์„ ์œ„ํ•œ ๊ฐ„๋‹จํ•œ REST API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์—”๋“œํฌ์ธํŠธ๋Š” ๊ณต๊ฐœ์ ์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ธ์ฆ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

GET
/api/lookup

๋„๋ฉ”์ธ, IP ์ฃผ์†Œ, ASN ๋˜๋Š” CIDR ๋ฒ”์œ„์— ๋Œ€ํ•œ WHOIS/RDAP ์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. RDAP์™€ WHOIS๊ฐ€ ๋ณ‘๋ ฌ๋กœ ์กฐํšŒ๋˜๋ฉฐ, ๊ตฌ์กฐํ™”๋œ ํ•„๋“œ๋Š” RDAP ๋ฐ์ดํ„ฐ๋ฅผ ์šฐ์„ ํ•˜๊ณ  WHOIS๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค. ๋‘ ์›์‹œ ์‘๋‹ต์ด ๋ชจ๋‘ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜

๋งค๊ฐœ๋ณ€์ˆ˜์œ ํ˜•ํ•„์ˆ˜๊ธฐ๋ณธ๊ฐ’์„ค๋ช…
querystring
ํ•„์ˆ˜
โ€”๋„๋ฉ”์ธ ์ด๋ฆ„, IPv4/IPv6 ์ฃผ์†Œ, ASN(์˜ˆ: AS13335) ๋˜๋Š” CIDR ๋ฒ”์œ„. ๋ณ„์นญ: q

์š”์ฒญ ์˜ˆ์‹œ

curl "https://your-domain.com/api/lookup?query=google.com"

์„ฑ๊ณต ์‘๋‹ต

{
"status": true,
"time": 1.23,
"cached": false,
"source": "rdap",
"result": {
"domain": "google.com",
"registrar": "MarkMonitor Inc.",
"registrarURL": "http://www.markmonitor.com",
"ianaId": "292",
"whoisServer": "whois.markmonitor.com",
"creationDate": "1997-09-15T04:00:00Z",
"expirationDate": "2028-09-14T04:00:00Z",
"updatedDate": "2019-09-09T15:39:04Z",
"status": [
{ "status": "clientDeleteProhibited", "url": "..." },
{ "status": "clientTransferProhibited", "url": "..." }
],
"nameServers": ["ns1.google.com", "ns2.google.com", "ns3.google.com", "ns4.google.com"],
"dnssec": "unsigned",
"domainAge": 28,
"remainingDays": 945,
"rawWhoisContent": "Domain Name: GOOGLE.COM\nRegistry Domain ID: ...",
"rawRdapContent": "{\n \"objectClassName\": \"domain\",\n ...\n}"
}
}

์˜ค๋ฅ˜ ์‘๋‹ต

{
"status": false,
"time": 0.45,
"error": "No match for domain \"EXAMPLE.INVALID\""
}
GET
/api/og

WHOIS ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๋™์  Open Graph ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€์ ์œผ๋กœ /api/lookup์„ ์ฟผ๋ฆฌํ•˜๊ณ  ์นด๋“œ ์Šคํƒ€์ผ ์š”์•ฝ์„ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค. PNG ์ด๋ฏธ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜

๋งค๊ฐœ๋ณ€์ˆ˜์œ ํ˜•ํ•„์ˆ˜๊ธฐ๋ณธ๊ฐ’์„ค๋ช…
querystring
์„ ํƒ
โ€”์กฐํšŒ ๋ฐ ํ‘œ์‹œํ•  ๋„๋ฉ”์ธ, IP, ASN ๋˜๋Š” CIDR. ๋ณ„์นญ: q
wnumber
์„ ํƒ
1200์ด๋ฏธ์ง€ ๋„ˆ๋น„(ํ”ฝ์…€, 200-4096)
hnumber
์„ ํƒ
630์ด๋ฏธ์ง€ ๋†’์ด(ํ”ฝ์…€, 200-4096)
themestring
์„ ํƒ
light์ƒ‰์ƒ ํ…Œ๋งˆ: "light" ๋˜๋Š” "dark"

์š”์ฒญ ์˜ˆ์‹œ

curl "https://your-domain.com/api/og?query=google.com&theme=dark" -o og.png

๋ฏธ๋ฆฌ๋ณด๊ธฐ

OG Image Preview

/api/og?query=google.com

์†๋„ ์ œํ•œ ๋ฐ ์บ์‹ฑ
์„ฑ๊ณต์ ์ธ WHOIS ์กฐํšŒ ์‘๋‹ต์€ ์„œ๋ฒ„ ์ธก(Redis)์—์„œ ์บ์‹œ๋˜๋ฉฐ
Cache-Control: s-maxage=3600, stale-while-revalidate=86400
ํ—ค๋”์™€ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
์บ์‹œ๋œ ์‘๋‹ต์—๋Š”
"cached": true
์ด JSON ๋ณธ๋ฌธ์— ํฌํ•จ๋˜๋ฉฐ
"time": 0
.

Next Whois v1.6 ยท whois