ホームページ  >  記事  >  バックエンド開発  >  リクエストタイムアウトとはどういう意味ですか?

リクエストタイムアウトとはどういう意味ですか?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-06-14 09:34:1952677ブラウズ

タイムアウト

サーバーが時間内に応答できないことを防ぐために、外部サーバーに送信されるほとんどのリクエストにはタイムアウト パラメーターを含める必要があります。デフォルトでは、タイムアウト値が明示的に指定されない限り、リクエストは自動的にタイムアウトしません。タイムアウトがないと、コードが数分以上ハングする可能性があります。

リクエストタイムアウトとはどういう意味ですか?

接続タイムアウトとは、クライアントがリモート マシン ポートへの接続 (connect() に相当) を認識したときにリクエストが待機する秒数を指します。 TCP パケット再送信ウィンドウのデフォルト サイズは 3 であるため、接続タイムアウトを 3 の倍数よりわずかに大きい値に設定することをお勧めします。

クローラー プロキシ領域では、コードがそこでスタックし、エラーが報告されず、リクエストに対する応答がないというリクエスト タイムアウトの問題がよく発生します。

関連する推奨事項: 「Python ビデオ チュートリアル

通常の処理では、requests.get() ステートメントにタイムアウトを追加してリクエスト時間を制限します。

req = requests.get(url, headers=headers, proxies=proxies, timeout=5)

timeout=5 を設定した後も長期的な無応答の問題が依然として存在する場合は、timeout のパラメータを調整できます

次の変更を行った後、問題は解消されます

req = requests.get(url, headers=headers, proxies=proxies, timeout=(3,7))

タプル (3,7) でタイムアウトが渡されます。最初の桁は接続接続のタイムアウト時間、2 桁目は読み取り読み取りのタイムアウト時間です。

タイムアウトの使用中に ValueError エラー メッセージが発生した場合 (次のようなもの: ValueError: タイムアウト値の接続は Timeout(connect=2.0, read=2.0, total=None) でしたが、これは int または float である必要があります。 )、これは Python-requests バージョンです。バージョン 2.4.3-4 のバグにより、リクエストを更新する必要があります

pip install -U requests

以上がリクエストタイムアウトとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。