用 python写一个获取网站服务器地址的代码
时间: 2024-09-15 11:06:18 浏览: 29
在 Python 中,你可以使用 `socket` 模块来获取一个网站服务器的地址,通常是 IP 地址。下面是一个简单的例子:
```python
import socket
def get_server_address(url):
try:
# 将 URL 解析成 (hostname, port) 对
hostname = url.split('//')[-1].split('/')[0]
if ':' in hostname:
host, port = hostname.split(':')
else:
host = hostname
port = 80 # 默认HTTP端口
# 获取IP地址
ip_address = socket.gethostbyname(host)
return ip_address, int(port)
except socket.gaierror as e:
print(f"Error resolving hostname: {e}")
return None, None
# 使用示例
url = "http://www.example.com"
ip, port = get_server_address(url)
if ip and port:
print(f"Server address: {ip}:{port}")
```
这个代码会尝试解析给定的URL,然后使用 `gethostbyname()` 函数获取域名对应的 IP 地址。注意,如果遇到 DNS 查询错误,它会捕获 `gaierror` 异常,并打印错误信息。
阅读全文