如何在OSX上检查网络连接

4

我的iMac的Wi-Fi有点不稳定。有时候它显示连接正常且信号满格,但是Safari或Chrome无法加载网页。我必须关闭/打开Wi-Fi才能解决问题。

奇怪的是,在终端上ping google.com时,我没有任何数据包丢失。

PING www.google.com (68.104.213.123):
56 data bytes 64 bytes from 68.104.213.123: icmp_seq=0 ttl=52 time=21.530 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 21.530/21.530/21.530/0.000 ms

我写了这个Apple Script试图解决这个问题,但似乎需要另一种检查实际网络连接的方法,而不仅仅是ping。我该怎么办?
repeat
    try
        do shell script "ping -o -t 2 www.google.com"
    on error
        say "Couldn't connect"
        do shell script "networksetup -setairportpower en1 off"
        do shell script "sleep 5"
        do shell script "networksetup -setairportpower en1 on"
    end try
    delay 60
end repeat

你是说在终端可以ping通谷歌,但在Safari中无法显示谷歌网页吗? - aquagremlin
是的,我可以在终端中ping通谷歌,但其他什么都不行,Safari、Chrome等... - guisauer
这是我在终端中得到的内容: PING www.google.com (68.104.213.123): 56 data bytes 64 字节来自 68.104.213.123:icmp_seq=0 ttl=52 time=21.530 ms --- www.google.com ping 统计信息 --- 已传输 1 个数据包,收到 1 个数据包,丢失率 0.0% 往返行程的最短时间/平均时间/最长时间/标准差 = 21.530/21.530/21.530/0.000 ms - guisauer
这可能是你的wifi天线开始失灵了。大带宽请求(就像现在网上的几乎所有东西一样)需要好的硬件。一个失败的wifi天线困扰了我的iphone(我猜掉落数量太多了)。它有类似的症状- 电子邮件在LTE上工作,但在wifi上不工作。你有可以尝试的外部wifi适配器吗(比如一个便宜的usb wifi棒)?问题是否出现在有线连接中? - aquagremlin
没错,那很可能是问题所在。我会调查一下的。与此同时,你知道有没有办法调整我的脚本,以便检查网络连接呢? - guisauer
显示剩余2条评论
2个回答

2

curl www.apple.com会从终端访问互联网。


这对我有用,谢谢!我用 do shell script "curl --max-time 4 www.google.com" 替换了第三行。 - guisauer

0

从上面的问题和答案中获得灵感,我将代码更改如下:

on idle
    try
        do shell script "curl -m 4 www.google.com"
    on error
        say "Couldn't connect"
        do shell script "networksetup -setairportpower en1 off"
        do shell script "sleep 5"
        do shell script "networksetup -setairportpower en1 on"
    end try
    return 60
end idle

因为如果使用repeat,你无法退出程序。通过使用on idle,你可以随时轻松退出程序。但是你必须将脚本保存为可运行文件,并在保存时勾选“保持运行”复选框。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接