問題タブ [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.

0 投票する
1 に答える
1938 参照

python - BaseHTTPServerで接続を手動で閉じる方法は?

HTTP サーバーにリクエストを送信するスクリプトがあります。

HTTP サーバー スクリプト (スニペット):

「何とか何とか」が返されますが、接続が閉じられていないようで、サーバーを中止するまでスクリプトが永遠に待機しています。(「do_GET()」の最後の部分が計算されると、BaseHTTPServerは自動的に接続を閉じると思いますが、スクリプトを再起動することでこれを防ぎます。)

私が正しければ、どうすれば接続を閉じることができますか? そうでない場合、他に何が問題になっている可能性がありますか?

編集:サーバースクリプトはプログラム全体を再起動する必要があります。

0 投票する
1 に答える
1332 参照

python - Apache ベンチと python BaseHTTPServer 壊れたパイプの例外

次のように、Pythonで実装された単純なHTTPサーバーがあります。

次に、同時実行レベル 50 で Apache ベンチを実行します。

Apacheベンチでこのエラーが発生し始めました:

apr_socket_recv: ピアによる接続のリセット (104)

そして、HTTP サーバー コンソールには次のように表示されます。

また、HTTPServer が非常に遅くなることに気付きました

request_queue_size私はこれを行うことで HTTPServerを増やそうとしました:

しかし、テスト実行の最後にパイプの破損エラーが時々発生します。膨大な数に増やすrequest_queue_sizeと、エラーはなくなります。-cApache ベンチの値が 50 でありrequest_queue_size、100 で十分であるため、理由がわかりません。request_queue_sizeApache ベンチの同時実行数設定よりもはるかに大きくする必要があるのはなぜですか? 前の接続が終了していない場合でも、Apache ベンチはより多くの接続を開始するので、同時接続の合計数は-c設定よりも多くなる可能性がありますか?

0 投票する
2 に答える
2383 参照

python - ThreadingMixinを使用してBaseHTTPServerによって生成されたスレッドを停止する

この投稿ThreadingMixinで、 (モジュールから)を使用して、を使用SocketServerしてスレッドサーバーを作成できることを読みましたBaseHTTPServer。私はそれを試しました、そしてそれ働きます。ただし、サーバーによって生成されたアクティブなスレッドを停止するにはどうすればよいですか(たとえば、サーバーのシャットダウン中)?これは可能ですか?

0 投票する
1 に答える
4021 参照

python - TypeError: 'datetime.timedelta' オブジェクトは iterable-BaseHttpServer の問題ではありません

BaseHttpServer を使用して基本的な python Web サーバーをセットアップし、postgresql データベースからデータをクエリする練習をしています。すべて順調に進んでいますが、SQL の結果を解析しているときにエラーが発生します。これが私のコードです:

コンソールへのデバッグ用に print ステートメントがあり、正しい出力が得られます。

特定の列を Web ページに出力しようとしているところですが、行 [2] の最後の for ループに到達すると、次のエラーが発生します。

確認したところ、データベース内のこれらの列は間隔型です。varchar 型の他の列で行ったように、それらを反復処理するにはどうすればよいですか?

0 投票する
1 に答える
357 参照

python - htaccess 設定を BaseHTTPServer 設定に変換する

だから私がやろうとしているのは、ユーザーが自分のサイトに画像を埋め込むことを許可し、その画像は自動的にボタンが入った iframe に置き換えられるということです。その理由は、許可されていないネットワークで js やその他のコードを使用することをユーザーが簡単に回避できるようにするためです。

これはPHPを使用したApacheで可能ですが、Pythonでこれを行う方法は私には特に明白ではありません.

元のhtaccess: Redirect /embed.jpg http://somesite.com/embed.php

しかし、Python では実際には機能しません (この例は機能しません)。

サーバー.py:

0 投票する
2 に答える
7366 参照

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_callbackserver.socket.close()

次のコールバックを使用して http サーバーを構成することをお勧めします。

  • サーバーを起動する前に
  • サーバー起動後
  • サーバーを停止する前に
  • サーバーを停止した後

これらのコールバックを設定する方法はありますPython BaseHTTPServer.HTTPServerか?!