HTTPSConnection
withを作成するときhttplib
、タイムアウトを設定するのは簡単です:
connection = httplib.HTTPSConnection('some.server.com', timeout=10)
connection.request('POST', '/api', xml, headers={'Content-Type': 'text/xml'})
response = connection.getresponse().read()
この操作には、接続の受け入れや応答の受信など、さまざまな部分があります。
タイムアウトは操作全体に適用されますか? リモートホストが接続を受け入れても応答を返さない場合でもタイムアウトしますか? タイムアウトを設定することで、操作が最大 10 秒間ブロックされるようにしたいと考えています。
いくつかのコンテキスト:
外部 API に接続していて、操作をブロックしたい。10 秒以上ブロックしないでください。10 秒以上ブロックしている場合は、ブロックを停止して例外を発生させます。外部 API に到達できない場合は正しく処理していますが、接続を受け入れても応答しない場合は不明です。