a.com, b.comのような{{Alphabet一文字}}.comのサイトはあるのだろうか。

[記事ver1.0]

前文

twitter.comがx.comになったが同じようにAlphabet一文字ドメインは存在するのか?

試しに

a.comで検索すると

近いドメインのサイトを教えてくれる。

総当たり検索:

python

import requests
import string

# アルファベットのリストを作成
alphabet = list(string.ascii_lowercase)


# 各アルファベットに対して
for letter in alphabet:
    url = f"http://{letter}.com"
    try:
        # HTTPリクエストを送信
        response = requests.get(url)
        # レスポンスのステータスコードが200(成功)なら、ウェブサイトは存在する
        if response.status_code == 200:
            print(f"{url} exists.")
        else:
            print(f"{url} does not exist.")
    except requests.exceptions.RequestException as e:
        # リクエストに失敗した場合、ウェブサイトは存在しないとみなす
        print(f"{url} does not exist. Error: {e}")

実行結果

>

ProjectIsOneLetterDomainExisiting/OneLetterDomain.py ======================
http://a.com does not exist. Error: HTTPConnectionPool(host='a.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD582390>: Failed to resolve 'a.com' ([Errno 11001] getaddrinfo failed)"))
http://b.com does not exist. Error: HTTPConnectionPool(host='b.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD5329D0>: Failed to resolve 'b.com' ([Errno 11001] getaddrinfo failed)"))
http://c.com does not exist. Error: HTTPConnectionPool(host='c.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD58EC50>: Failed to resolve 'c.com' ([Errno 11001] getaddrinfo failed)"))
http://d.com does not exist. Error: HTTPConnectionPool(host='d.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD594DD0>: Failed to resolve 'd.com' ([Errno 11001] getaddrinfo failed)"))
http://e.com does not exist. Error: HTTPConnectionPool(host='e.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD596ED0>: Failed to resolve 'e.com' ([Errno 11001] getaddrinfo failed)"))
http://f.com does not exist. Error: HTTPConnectionPool(host='f.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD599090>: Failed to resolve 'f.com' ([Errno 11001] getaddrinfo failed)"))
http://g.com does not exist. Error: HTTPConnectionPool(host='g.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD597610>: Failed to resolve 'g.com' ([Errno 11001] getaddrinfo failed)"))
http://h.com does not exist. Error: HTTPConnectionPool(host='h.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD595AD0>: Failed to resolve 'h.com' ([Errno 11001] getaddrinfo failed)"))
http://i.com does not exist. Error: HTTPConnectionPool(host='i.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD325190>: Failed to resolve 'i.com' ([Errno 11001] getaddrinfo failed)"))
http://j.com does not exist. Error: HTTPConnectionPool(host='j.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD58E490>: Failed to resolve 'j.com' ([Errno 11001] getaddrinfo failed)"))
http://k.com does not exist. Error: HTTPConnectionPool(host='k.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD59A090>: Failed to resolve 'k.com' ([Errno 11001] getaddrinfo failed)"))
http://l.com does not exist. Error: HTTPConnectionPool(host='l.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD59BC10>: Failed to resolve 'l.com' ([Errno 11001] getaddrinfo failed)"))
http://m.com does not exist. Error: HTTPConnectionPool(host='m.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD291C90>: Failed to resolve 'm.com' ([Errno 11001] getaddrinfo failed)"))
http://n.com does not exist. Error: HTTPConnectionPool(host='n.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD58EF10>: Failed to resolve 'n.com' ([Errno 11001] getaddrinfo failed)"))
http://o.com does not exist. Error: HTTPConnectionPool(host='o.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD580E10>: Failed to resolve 'o.com' ([Errno 11001] getaddrinfo failed)"))
http://p.com does not exist. Error: HTTPConnectionPool(host='p.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD598B50>: Failed to resolve 'p.com' ([Errno 11001] getaddrinfo failed)"))
http://q.com exists.
http://r.com does not exist. Error: HTTPConnectionPool(host='r.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD59B1D0>: Failed to resolve 'r.com' ([Errno 11001] getaddrinfo failed)"))
http://s.com does not exist. Error: HTTPConnectionPool(host='s.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD58D010>: Failed to resolve 's.com' ([Errno 11001] getaddrinfo failed)"))
http://t.com does not exist. Error: HTTPConnectionPool(host='t.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD58CD90>: Failed to resolve 't.com' ([Errno 11001] getaddrinfo failed)"))
http://u.com does not exist. Error: HTTPConnectionPool(host='u.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD5A7F50>: Failed to resolve 'u.com' ([Errno 11001] getaddrinfo failed)"))
http://v.com does not exist. Error: HTTPConnectionPool(host='v.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD5A9D50>: Failed to resolve 'v.com' ([Errno 11001] getaddrinfo failed)"))
http://w.com does not exist. Error: HTTPConnectionPool(host='w.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD5ABB50>: Failed to resolve 'w.com' ([Errno 11001] getaddrinfo failed)"))
http://x.com exists.
http://y.com does not exist. Error: HTTPConnectionPool(host='y.com', port=80): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0x00000288FD5AAD10>: Failed to resolve 'y.com' ([Errno 11001] getaddrinfo failed)"))
http://z.com exists.

私のTerminal

改行コードを入れ忘れたのだがめんどかったのでそのまま引用。

結論: 存在したAlphabet一文字ドメイン

  1. q.comはGet Blazing Fast Fiber Internet for Your Home or Business (quantumfiber.com)という海外の光通信的な会社にリダイレクトされた。

  2. x.comは皆さんおなじみ旧twitter

  3. z.comはGMO(日本の有名IT)がホームページ作成サービス用に提供しているようだ。世界で最も短いドメイン「z.com」を8億円で取得 | GMOインターネットグループ株式会社という記事によると8億円かかったらしい。

ちなみに

HTTPのリダイレクト時のHTTPステータスコードまとめ #Web - Qiitaによるとredirect用のstatuscodeは複数あるらしいがコード作るのに時間かけたくなかったので(怠慢)正常コードのみを取り入れたがその後総当たりで手入力検索で実験しても存在する使われているドメインのリストは同じになった。q.comもコードが200だから、OKしたあとに、別のものにリダイレクトしているのかな?

大文字・小文字の区別はURIにないはず。。。