域名被墙通常指的是由于网络审查或其他原因,某些域名无法通过互联网访问。判断域名是否被墙可以通过多种方式实现,包括DNS解析、HTTP请求等。
以下是一个简单的Python示例,通过DNS解析和HTTP请求来判断域名是否被墙:
import socket
import requests
def is_domain_blocked(domain):
# DNS解析检测
try:
socket.gethostbyname(domain)
dns_resolved = True
except socket.gaierror:
dns_resolved = False
# HTTP请求检测
try:
response = requests.get(f'http://{domain}', timeout=5)
http_resolved = response.status_code == 200
except requests.RequestException:
http_resolved = False
return not dns_resolved or not http_resolved
# 示例使用
domain = 'example.com'
if is_domain_blocked(domain):
print(f'{domain} 被墙了')
else:
print(f'{domain} 可以访问')
通过上述方法,可以有效地判断域名是否被墙,并根据实际情况采取相应的解决措施。
领取专属 10元无门槛券
手把手带您无忧上云