鱼C论坛

 找回密码
 立即注册
查看: 222|回复: 9

请用python写一个检测网络连接的程序

[复制链接]
发表于 2024-8-7 09:04:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
笔记本电脑要重启动才能连接无线网,请针对此问题写一个python程序,检测、判断问题所在,最好自动解决此问题。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-8-7 11:50:34 | 显示全部楼层
每一次都要重启吗?如果只是单独这一次,可能是长时间保持充电状态的原因,我的笔记本也出现过这种情况,设置里面的WIFI部分直接消失,可以把网卡退回到上一状态来解决
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-7 14:01:33 | 显示全部楼层
每一次停机后都要重启才能自动联无线网,找了很多方法都没用,重装系统嫌麻烦。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-7 15:41:18 | 显示全部楼层
网络重置试一下?
设置-网络和Internet - 状态 - 网络重置
https://zhuanlan.zhihu.com/p/141494731

点了立即重置之后记得别动电脑了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-8 07:34:02 | 显示全部楼层
还是不行。用360断网急救箱检测显示:网络连接配置异常,DNS服务异常。强力恢复只是一次有效,下次还是要重启。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-13 07:54:33 | 显示全部楼层
@fishc 请用python写一个检测网络连接的程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-13 07:57:13 | 显示全部楼层

@FishC 请用python写一个检测网络连接的程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-13 08:04:05 | 显示全部楼层
ydwb 发表于 2024-08-13 07:54
@fishc 请用python写一个检测网络连接的程序


当然可以!这里有个简单的 Python 程序,可以检测网络连接。我们将使用 `ping` 命令来测试网络是否可达。在 Windows 上,你可以使用 `ping` 来检查某个网站(比如 Google)。在 Linux 或 Mac 上也是一样的!

那么,让我们开始吧!下面是一个简单的程序示例:
import os
import platform

def ping(host):
    # 根据操作系统选择不同的命令
    param = '-n' if platform.system().lower() == 'windows' else '-c'
    command = ['ping', param, '1', host]

    # 执行 ping 命令
    return os.system(' '.join(command)) == 0

def check_connection():
    host = "www.google.com"  # 可以更换为其他网站
    if ping(host):
        print(f"网络连接正常,能够 ping 到 {host}!")
    else:
        print(f"哎呀,无法连接到 {host},请检查你的网络设置。")

if __name__ == "__main__":
    check_connection()

### 程序解释:

1. **导入模块**:我们导入了 `os` 和 `platform`,这两个模块分别用来执行系统命令和识别操作系统类型。
2. **定义 `ping` 函数**:这个函数接受一个主机名(如 www.google.com),并根据当前操作系统生成合适的 ping 命令。
3. **定义 `check_connection` 函数**:这个函数主要用于调用 ping 函数并打印出结果。
4. **执行程序**:最后,如果直接运行这个脚本,它将会调用 `check_connection` 函数。

### 运行程序:
将上面的代码复制到一个 Python 文件中(比如 `check_connection.py`),然后在你的终端中运行它。它会告诉你是否能够连接到 Google!

希望这个程序能帮助你轻松地检测网络连接!如果有任何问题,随时问我哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-14 07:38:13 | 显示全部楼层
如果网络未连通,写一个程序检查相关硬件、设置是否正常。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-14 07:39:28 | 显示全部楼层
ydwb 发表于 2024-08-14 07:38
如果网络未连通,写一个程序检查相关硬件、设置是否正 ...


好的!我们可以写一个更复杂一点的 Python 程序来检查网络硬件和设置。这个程序将尝试检查以下内容:

1. 检查网卡是否启用。
2. 检查 DHCP 设置。
3. 检查 DNS 设置。

由于 Python 的标准库并不直接提供这些功能,我们将在此程序中调用系统命令以获取所需信息。请确保你有足够的权限运行这些命令。

下面是一个示例程序:
import os
import platform

def check_network_interface():
    # 获取操作系统类型
    if platform.system().lower() == 'windows':
        # Windows 使用 ipconfig
        print("检查网络接口...")
        response = os.popen('ipconfig').read()
        print(response)
    else:
        # Linux/Mac 使用 ifconfig 或 ip a
        print("检查网络接口...")
        response = os.popen('ifconfig' if os.system('ifconfig') == 0 else 'ip a').read()
        print(response)

def check_dhcp():
    if platform.system().lower() == 'windows':
        print("检查 DHCP 设置...")
        response = os.popen('ipconfig /all').read()
        dhcp_enabled = "DHCP 已启用" in response
        print("DHCP 状态:", "启用" if dhcp_enabled else "禁用")
    else:
        # 在 Linux 中使用 cat /etc/resolv.conf
        print("检查 DHCP 设置...")
        response = os.popen('cat /etc/resolv.conf').read()
        print("DNS 配置如下:\n", response)

def check_dns():
    print("检查 DNS 设置...")
    response = os.popen('nslookup www.google.com').read()
    print(response)

def main():
    check_network_interface()
    check_dhcp()
    check_dns()

if __name__ == "__main__":
    main()

### 程序说明:

1. **检查网络接口**:根据操作系统,使用适当的命令(Windows 使用 `ipconfig`,Linux/Mac 使用 `ifconfig` 或 `ip a`)来显示网络接口信息。
  
2. **检查 DHCP 设置**:对于 Windows,使用 `ipconfig /all` 显示所有网络适配器的详细信息,以检查 DHCP 是否启用。对于 Linux,可以查看 `/etc/resolv.conf` 来检查 DNS。

3. **检查 DNS 设置**:使用 `nslookup` 命令测试 DNS 是否可用,并显示结果。

### 运行方式:

将代码保存为 `check_network_setup.py`,然后在终端中运行它。它将逐步检查网络设置并输出相关信息。如果发现问题,可以根据输出的信息进一步进行排查。

希望这个程序能帮助你找到问题所在!如果你有任何疑问或需要更多帮助,请随时告诉我!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 20:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表