0

我正在运行一个小型 python 脚本,每 10 秒检查一次以查看我的互联网访问是否可用(我的 isp 吸吮有问题)。我已经运行它大概 2 个月了,它运行良好,但现在它随机退出。有时它会在我启动它的 20 秒内退出,有时它会等待 5 分钟。代码是:

import time
import datetime
import urllib2

waitTime = 300
outfile = "C:\Users\simmons\Desktop\internetConnectivity.txt"

def internetOffline():
    with open (outfile, "a") as file:
        file.write("Internet Offline: %s\n" % time.ctime())
        print("Internet Went Down!")

def internetCheck():
    try:
        urllib2.urlopen('https://www.google.com', timeout = 2)

    except urllib2.URLError:
        internetOffline()

while (1):
    internetCheck()
    time.sleep( 10 )

我的问题不仅是,我将如何打印它退出时发生的事情,而且,有没有人知道这样做的更有效方法,所以它可能会导致更少的网络流量。现在这不是问题,但我只是想知道更有效的方法。

4

1 回答 1

2

这可能是从去谷歌到很多次我不确定

在你的 IDE 中运行程序,然后阅读它在退出时抛出的错误,这应该告诉你程序退出的内容或位置

这是一个很好的方法:

import urllib2

def internet_on():
    try:
        response=urllib2.urlopen('http://74.125.228.100',timeout=1)
        return True
    except urllib2.URLError as err: pass
    return False

74.125.228.100 是 google.com 的 IP 地址之一。更改http://74.125.228.100到可以预期快速响应的任何站点

我从这个问题中得到了这个解决方案,看看它,它应该有帮助

于 2013-09-25T02:27:39.847 回答