要检查域名的可用性,可以使用Python的socket库来实现,而不依赖于第三方服务。下面是一个示例代码:
import socket
def check_domain_availability(domain):
try:
# 创建一个socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置超时时间为3秒
sock.settimeout(3)
# 尝试连接域名的80端口
result = sock.connect_ex((domain, 80))
# 如果连接成功,则说明域名可用
if result == 0:
print(f"域名 {domain} 可用")
else:
print(f"域名 {domain} 不可用")
# 关闭socket连接
sock.close()
except socket.gaierror:
print(f"域名 {domain} 解析失败")
except socket.error:
print(f"域名 {domain} 连接错误")
# 调用函数进行域名可用性检查
check_domain_availability("example.com")
上述代码使用socket.socket
创建一个TCP socket对象,然后使用socket.connect_ex
连接域名的80端口。如果连接成功,返回值为0,说明域名可用;否则返回其他值,说明域名不可用。
请注意,这个方法只能检查域名的80端口是否可用,无法检查其他端口或使用HTTPS协议的域名。如果需要更全面的域名可用性检查,可能需要使用更复杂的方法。