ERSをテストするスクリプトを書くことパイソン - ..私はまだPythonの基礎とグリップを取得しています、HTTPインタフェースに
をしようと
私の現在の要件はテストするPythonスクリプトを開発することです(例えば、ウェブブラウザを介して「http://192.168.0.2:9876」と入力しなければならない場合など)複数のデバイスのウェブベースのインターフェースを利用することができますが、これは複雑すぎる必要はありません。
もともと私はbashスクリプトでは、次のようなものだったように私は、簡単なbashのcurlコマンドから変換しようとしている:
date=`date +"%Y-%m-%d_%H-%M-%S-%N"`
curl -s --connect-timeout 1 ${ip} -o /dev/null
test=$?
if [[ $test == 0 ]] ;then
echo "${date}:webping - Web Page Up for ${ip}" >> $log
else
echo "${date}:webping - Web Page Down for ${ip}" >> $log
fi
オリジナルのコンセプトのために働いたが、私が持って探していましたPythonで何か類似しています。理由の中で出力が変わる可能性があります。誰にでもどこから始めるべきかの指針があります。
PS私はここでいくつか他の質問を見てきましたが、インタフェースが "停止"した(つまりサービスを停止した)偽陽性を示しています。
編集:以下は私が試したコードです。
for url in ["http://www.google.co.uk", "http://192.168.0.2:8000"]:
try:
connection = urllib2.urlopen(url)
print connection.getcode()
connection.close()
except urllib2.HTTPError, e:
print "none"
訂正:私はPythonのエラー出力を確認したくない
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
File "C:\Python27\lib\urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "C:\Python27\lib\urllib2.py", line 391, in open
response = self._open(req, data)
File "C:\Python27\lib\urllib2.py", line 409, in _open
'_open', req)
File "C:\Python27\lib\urllib2.py", line 369, in _call_chain
result = func(*args)
File "C:\Python27\lib\urllib2.py", line 1173, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "C:\Python27\lib\urllib2.py", line 1148, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 10061] No connection could be made because the target machine actively refused it>
...以下の結果が得られます。事前
あなたが試したPythonコード、実行したときに得たもの、予想したものを投稿してください。 「このスクリプトを言語Xに変換する」は、SOの本当の質問ではありません。 – jordanm
@jordanm、申し訳ありませんがコードの上記の編集を参照してください。私は、Webインターフェイスが利用できないとき(すなわち、サービスが停止したため、またはフォルト/エラーが発生したため)、restultが異なると予想します。 – MHibbin
ポートに接続を許可するものがない場合、例外がスローされます。私のマシンでの簡単なテストでは、 'urllib2.URLError:'がスローされます。あなたはurllib2.URLErrorを捕まえていません、それは例外を投げていませんか? –
jordanm