第一种
import socket
ipaddress = socket.gethostbyname(socket.gethostname())
if ipaddress == '127.0.0.1':
return False
else:
return True
缺点:如果IP是静态配置,无法使用,因为就算断网,返回的也是配置的静态IP
第二种
import urllib3
try:
http = urllib3.PoolManager()
http.request('GET', 'https://baidu.com')
return True
except as e:
return False
第三种
import os
ret = os.system("ping baidu.com -n 1")
return True if res == 0 else False
第四种
import subprocess
import os
ret = subprocess.run("ping baidu.com -n 1", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
return True if ret.returncode == 200 else False
本文探讨了四种Python方法:socket、urllib3、os及subprocess,用于检查网络连接。第一种仅适用于动态IP;第二种通过HTTP请求验证;第三种利用ping命令;第四种结合子进程。对比其适用场景和局限性。
2万+

被折叠的 条评论
为什么被折叠?



