2

いくつかの URL を含むファイルを読み取り、mechanize モジュールを使用してブラウザー インスタンスを開くスクリプトを作成しようとしています。一部のURLが存在しない場合、またはサーバーに到達できない場合、どうすればよいか疑問に思っています。

例えば

import mechanize  

br = mechanize.Browser()  
b  = br.open('http://192.168.1.30/index.php')

私が知りたいのは、192.168.1.30 に到達できない場合、または http が 404 エラーを返した場合に、mechanize から情報を取得する方法です。

4

2 に答える 2

2

次のようなことを試してください:

from mechanize import Browser
b = Browser()
try:
    r=b.open('http://www.google.com/foobar')
except (mechanize.HTTPError,mechanize.URLError) as e:
    if isinstance(e,mechanize.HTTPError):
        print e.code
    else:
        print e.reason.args

出力:

404

試し'http://www.google.foo'てみると、タプルが得られます:

(-2, 'Name or service not known')

于 2012-12-11T09:11:11.003 に答える
-1
from mechanize import Browser
browser = Browser()
response = browser.open('http://www.google.com')
print response.code

または Python リクエスト ライブラリを使用します。

それを示すサンプルコード:

>>>import requests
>>> r = requests.get('http://httpbin.org/get')
>>> r.status_code
200
于 2012-12-11T08:54:51.043 に答える