python 查询IP是否是idc服务器或cdn服务器
要查询一个IP是否是IDC服务器或CDN服务器,可以使用Python的requests库发送HTTP请求并检查响应头中的服务器信息。以下是一个简单的示例代码:
import requests
def check_server_type(ip):
url = f"http://{ip}"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
try:
response = requests.get(url, headers=headers, timeout=5)
server = response.headers.get("Server", "")
if "cdn" in server.lower():
return "CDN服务器"
elif "idc" in server.lower():
return "IDC服务器"
else:
return "普通服务器"
except requests.exceptions.RequestException:
return "无法连接"
ip = "192.168.0.1"
server_type = check_server_type(ip)
print(f"{ip} 是 {server_type}")
在此示例中,我们使用requests.get()方法发送HTTP GET请求到指定的IP地址,并使用headers参数设置一个User-Agent头,以模拟浏览器访问。然后,我们检查响应的头部信息中的Server字段,如果包含"cdn"或"idc"字符串,就认为是CDN服务器或IDC服务器。如果不包含这两个关键字,就认为是普通服务器。如果无法连接到IP地址,则返回"无法连接"。
请注意,这种方法只是通过检查响应头中的服务器信息来判断服务器类型,可能存在一定的误判。对于一些特殊情况或定制服务器,可能无法准确判断。
原文地址: http://www.cveoy.top/t/topic/h2ch 著作权归作者所有。请勿转载和采集!