python如何测试网络连接是否成功
时间: 2024-10-11 09:04:41 浏览: 37
python判断计算机是否有网络连接的实例
在Python中,我们可以使用内置的socket模块来测试网络连接是否成功。这里是一个简单的例子,它尝试连接到一个远程服务器,如果连接成功则返回True,否则返回False:
```python
import socket
def is_connection_alive(host='www.google.com', port=80):
try:
# 创建一个TCP/IP socket
sock = socket.create_connection((host, port))
sock.close() # 关闭socket,无实际意义,这里主要是为了测试能否连接
return True
except (ConnectionRefusedError, ConnectionError, TimeoutError):
print(f"无法连接到{host}:{port},可能是服务器未运行或网络问题")
return False
except Exception as e:
print(f"发生未知错误: {str(e)}")
return False
# 调用函数并检查结果
print(is_connection_alive())
```
这个函数首先试图连接到给定的主机和端口,如果能建立连接(即`create_connection`不抛出异常),则认为连接成功;反之,则捕获可能遇到的异常,如拒绝连接、连接超时等。
阅读全文