测试网络连通性

博主分享了在Python中遇到的ping命令问题,转而使用urllib3模块进行网络状态检测。过程中遇到模块安装难题,最终成功并实现了稳定的网络检查功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天,写个一个ping测试。然后今天配数据库的时候发现:ping不通。

我自己开放了ORACLE的1521端口,但是别的端口都没放开。ping的时候没反应。
开放所有端口(我数据库装在虚拟机里,开放也OK),ping通了。

上网查:默认ping 的是80和21.

懂了。
以后用telnet。

然后就是之前说的:用system模块和popen模块测试命令。但是稳定性非常差。
system乱码,popen打包以后不执行。

我想了想,上网查决定用urllib模块。

这个模块的功能比较强大,相当于简化版的postman(postman就是基于urllib开发的)

然后安装。pip install urllib失败……
显示:没有这个模块??????
然后,pip install urllib2,失败。
显示:没有这个模块。
退环境了?

我试了试:pip install urllib3。
成功了。

我XX狗了。你退环境百度还给我整这出??????

————————————————————————————

命令的话,相对比较简单:

import urllib3
urllib3.disable_warnings()


def get_net():
    try:
        http = urllib3.PoolManager()
        r = http.request('GET', r'https://www.cnblogs.com/')
        # print(r.data)
        return True
    except Exception as e:
        print(e)
        return False

当网络通畅的时候,会返回True。
当网络不通的时候,会返回False。

使用万能的sleep函数解决下。

while 1:
    time.sleep(2)
    if get_net():
        print('网络稳定')
    else:
        print('断网')

千万要写sleep啊,不然就是网络攻击了……

然后,现在看起来,这个功能还是比之前的更好用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值