問題タブ [basehttpserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - BaseHTTPServerで接続を手動で閉じる方法は?
HTTP サーバーにリクエストを送信するスクリプトがあります。
HTTP サーバー スクリプト (スニペット):
「何とか何とか」が返されますが、接続が閉じられていないようで、サーバーを中止するまでスクリプトが永遠に待機しています。(「do_GET()」の最後の部分が計算されると、BaseHTTPServerは自動的に接続を閉じると思いますが、スクリプトを再起動することでこれを防ぎます。)
私が正しければ、どうすれば接続を閉じることができますか? そうでない場合、他に何が問題になっている可能性がありますか?
編集:サーバースクリプトはプログラム全体を再起動する必要があります。
python - Apache ベンチと python BaseHTTPServer 壊れたパイプの例外
次のように、Pythonで実装された単純なHTTPサーバーがあります。
次に、同時実行レベル 50 で Apache ベンチを実行します。
Apacheベンチでこのエラーが発生し始めました:
apr_socket_recv: ピアによる接続のリセット (104)
そして、HTTP サーバー コンソールには次のように表示されます。
また、HTTPServer が非常に遅くなることに気付きました
request_queue_size
私はこれを行うことで HTTPServerを増やそうとしました:
しかし、テスト実行の最後にパイプの破損エラーが時々発生します。膨大な数に増やすrequest_queue_size
と、エラーはなくなります。-c
Apache ベンチの値が 50 でありrequest_queue_size
、100 で十分であるため、理由がわかりません。request_queue_size
Apache ベンチの同時実行数設定よりもはるかに大きくする必要があるのはなぜですか? 前の接続が終了していない場合でも、Apache ベンチはより多くの接続を開始するので、同時接続の合計数は-c
設定よりも多くなる可能性がありますか?
python - ThreadingMixinを使用してBaseHTTPServerによって生成されたスレッドを停止する
この投稿ThreadingMixin
で、 (モジュールから)を使用して、を使用SocketServer
してスレッドサーバーを作成できることを読みましたBaseHTTPServer
。私はそれを試しました、そしてそれは働きます。ただし、サーバーによって生成されたアクティブなスレッドを停止するにはどうすればよいですか(たとえば、サーバーのシャットダウン中)?これは可能ですか?
python - TypeError: 'datetime.timedelta' オブジェクトは iterable-BaseHttpServer の問題ではありません
BaseHttpServer を使用して基本的な python Web サーバーをセットアップし、postgresql データベースからデータをクエリする練習をしています。すべて順調に進んでいますが、SQL の結果を解析しているときにエラーが発生します。これが私のコードです:
コンソールへのデバッグ用に print ステートメントがあり、正しい出力が得られます。
特定の列を Web ページに出力しようとしているところですが、行 [2] の最後の for ループに到達すると、次のエラーが発生します。
確認したところ、データベース内のこれらの列は間隔型です。varchar 型の他の列で行ったように、それらを反復処理するにはどうすればよいですか?
python - htaccess 設定を BaseHTTPServer 設定に変換する
だから私がやろうとしているのは、ユーザーが自分のサイトに画像を埋め込むことを許可し、その画像は自動的にボタンが入った iframe に置き換えられるということです。その理由は、許可されていないネットワークで js やその他のコードを使用することをユーザーが簡単に回避できるようにするためです。
これはPHPを使用したApacheで可能ですが、Pythonでこれを行う方法は私には特に明白ではありません.
元のhtaccess:
Redirect /embed.jpg http://somesite.com/embed.php
しかし、Python では実際には機能しません (この例は機能しません)。
サーバー.py:
python - Python BaseHTTPServer.HTTPServer - 開始および停止イベントのコールバック
参照: http://docs.python.org/2/library/basehttpserver.html
Python BaseHTTPServer
基本的な HTTP サーバーを実行するために使用する次のコード スニペットがあります。
私が探しているのは、server.serve_forever()
/server.socket.close()
メソッドを使用して http サーバーが開始/停止されるたびにコールバックを取得する方法です。
次の関数があるとします。
http_server_start_callback
サーバーを起動した直後(いつでも)に関数を呼び出したい、つまりサーバーを停止した直後(いつでも)に関数を呼び出しserver.serve_forever()
たいhttp_server_stop_callback
server.socket.close()
次のコールバックを使用して http サーバーを構成することをお勧めします。
- サーバーを起動する前に
- サーバー起動後
- サーバーを停止する前に
- サーバーを停止した後
これらのコールバックを設定する方法はありますPython BaseHTTPServer.HTTPServer
か?!