[解決済み】I/Oエラー(ソケットエラー)が発生しました。) [Errno 111] 接続が拒否されました。
質問
urllib を使って定期的に URL を取得するプログラムがありますが、断続的に のようなエラーが発生します。
I/Oエラー(ソケットエラー)。[Errno 111] 接続が拒否されました。
90%の確率で動作しますが、残りの10%は失敗します。失敗した直後に再取得すると成功する。なぜそうなるのかがわかりません。ポートが利用可能かどうか試してみましたが、利用可能でした。何かデバッグのアイデアがあれば教えてください。
追加情報として、スタックトレースは
File "/usr/lib/python2.6/urllib.py", line 203, in open
return getattr(self, name)(url)
File "/usr/lib/python2.6/urllib.py", line 342, in open_http
h.endheaders()
File "/usr/lib/python2.6/httplib.py", line 868, in endheaders
self._send_output()
File "/usr/lib/python2.6/httplib.py", line 740, in _send_output
self.send(msg)
File "/usr/lib/python2.6/httplib.py", line 699, in send
self.connect()
File "/usr/lib/python2.6/httplib.py", line 683, in connect
self.timeout)
File "/usr/lib/python2.6/socket.py", line 512, in create_connection
raise error, msg
編集 - グーグル検索はあまり役に立ちません。 私のコードにバグがないことを確認するにはどうしたらいいですか? というのは本当でしょうか?
解決方法は?
のようなパケットスニッファーを使用します。 ワイヤーシャーク を使用して、何が起こるか見てみましょう。SYNフラグのついたパケットの発信、SYN+ACKフラグのついた受信、そしてACKフラグのついた発信を確認する必要があるのです。その後、ローカル側でポートが開いているとみなされます。
最初のパケットしか見えず、数秒待ってもエラーメッセージが来る場合は、相手側が全く応答せず(例:ケーブルが抜かれている、サーバが過負荷、誤ったパケットが破棄された)、ローカルネットワークスタックが接続の試行を中止していることになります。RSTパケットが表示された場合、ホストは実際に接続を拒否しています。ICMP Port unreachable"またはhost unreachableパケットを見た場合、ファイアウォールまたはターゲットホストが、実際にポートが閉じられていることを知らせます。
もちろん、サービスが常に利用可能であることは期待できないので(あなたとデータの間にあるすべての障害点を考慮する)、後で再試行する必要があります。
関連
-
Python関数の高度な応用を解説
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Python入門 openを使ったファイルの読み書きの方法
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
python implement mysql add delete check change サンプルコード
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】NameError: 名前 'self' が定義されていません。