1

ブラウザを起動し、ヘッダーを確認し、ブラウザを閉じるという簡単なタスクを実行するために、Python 2.7 を使用しています。

#Launch the browser @ google
new = 0 
url = "http://www.google.com/"
webbrowser.open(url, new=new)

#Check for the header
conn = httplib.HTTPConnection("www.google.com")
conn.request("HEAD", "/")
r1 = conn.getresponse()

#Close the browser
os.system("taskkill /im iexplore.exe")

これは、継続的な接続を確認するために無限ループで実行されます。Ping チェックは、必要なトラフィックの量に対して十分ではありません。または、それを使用します。

私の問題は、接続が失われると、スクリプトがフリーズし、addressinfo エラーが発生することです。これを無視する、または認識し、ブラウザーを強制終了してスクリプトを実行し続けるにはどうすればよいですか?

申し訳ありませんが、これが正しく行われていない場合は...これが私の最初の投稿です。

4

1 に答える 1

1

ここでは実際にブラウザはまったく必要ないと思います。

一方、エラーを無視または認識する方法は、tryステートメントを使用することです。そう:

while True:
    try:
        conn = httplib.HTTPConnection("www.google.com")
        conn.request("HEAD", "/")
        r1 = conn.getresponse()
        if not my_verify_response_func(r1):
            print('Headers are wrong!')
    except Exception as e:
        print('Failed to check headers with {}'.format(e))
    time.sleep(60) # I doubt you want to run as fast as possible
于 2013-10-09T21:33:56.913 に答える